docs: @Override
      public T visitElement(Element elm, C context) {
          if (elm instanceof IncludeDef) return visitIncludeDef((IncludeDef)elm, context);
          else if (elm instanceof Library) return visitLibrary((Library)elm, context);
          else if (elm instanceof UsingDef) return visitUsingDef((UsingDef)elm, context);
          else return super.visitElement(elm, context);
      }