private boolean indented(Type type) {
      return type.accept(
          new ITypeVisitor<Boolean, RuntimeException>() {
            @Override
            public Boolean visitReal(Type type) {
              return false;
            }

            @Override
            public Boolean visitInteger(Type type) {
              return false;
            }

            @Override
            public Boolean visitRational(Type type) {
              return false;
            }

            @Override
            public Boolean visitList(Type type) {
              return true;
            }

            @Override
            public Boolean visitMap(Type type) {
              return true;
            }

            @Override
            public Boolean visitNumber(Type type) {
              return false;
            }

            @Override
            public Boolean visitAlias(Type type) {
              return type.getAliased().accept(this);
            }

            @Override
            public Boolean visitSet(Type type) {
              return true;
            }

            @Override
            public Boolean visitSourceLocation(Type type) {
              return true;
            }

            @Override
            public Boolean visitString(Type type) {
              return false;
            }

            @Override
            public Boolean visitNode(Type type) {
              return true;
            }

            @Override
            public Boolean visitConstructor(Type type) {
              return true;
            }

            @Override
            public Boolean visitAbstractData(Type type) {
              return true;
            }

            @Override
            public Boolean visitTuple(Type type) {
              return true;
            }

            @Override
            public Boolean visitValue(Type type) {
              return false;
            }

            @Override
            public Boolean visitVoid(Type type) {
              return false;
            }

            @Override
            public Boolean visitBool(Type type) {
              return false;
            }

            @Override
            public Boolean visitParameter(Type type) {
              return type.getBound().accept(this);
            }

            @Override
            public Boolean visitExternal(Type type) {
              return false;
            }

            @Override
            public Boolean visitDateTime(Type type) {
              return false;
            }
          });
    }