code: public T visitTypeSpecifier(TypeSpecifier elm, C context) {
          if (elm instanceof NamedTypeSpecifier) return visitNamedTypeSpecifier((NamedTypeSpecifier)elm, context);
          else if (elm instanceof IntervalTypeSpecifier) return visitIntervalTypeSpecifier((IntervalTypeSpecifier)elm, context);
          else if (elm instanceof ListTypeSpecifier) return visitListTypeSpecifier((ListTypeSpecifier)elm, context);
          else if (elm instanceof TupleTypeSpecifier) return visitTupleTypeSpecifier((TupleTypeSpecifier)elm, context);
          else return null;
      }
docs: Visit a TypeSpecifier. This method will be called for every
  node in the tree that is a descendant of the TypeSpecifier type.
  
  @param elm     the ELM tree
  @param context the context passed to the visitor
  @return the visitor result