if (elementType == ClojureElementTypes.DEF) return new ClDefImpl(node);
if (elementType == ClojureElementTypes.DEFMETHOD) return new ClDefnMethodImpl(node);
if (elementType == ClojureElementTypes.NS) return new ClNsImpl(node);
if (elementType == ClojureElementTypes.IN_NS) return new ClInNsImpl(node);
if (elementType == ClojureElementTypes.CREATE_NS) return new ClCreateNsImpl(node);
if (elementType == ClojureElementTypes.BINDINGS) return new ClBindings(node);
if (elementType == ClojureElementTypes.KEYWORD) return new ClKeywordImpl(node);
if (elementType == ClojureElementTypes.LITERAL) return new ClLiteralImpl(node);
if (elementType == ClojureElementTypes.BACKQUOTED_EXPRESSION) return new ClBackQuotedExpression(node);