if (type.equals(REPLACE_REPEATED_EXPRESSION)) return new ReplaceRepeatedImpl(node);
if (type.equals(RULE_DELAYED_EXPRESSION)) return new RuleDelayedImpl(node);
if (type.equals(RULE_EXPRESSION)) return new RuleImpl(node);
// MString stuff
if (type.equals(STRING_EXPRESSION_EXPRESSION)) return new StringExpressionImpl(node);
if (type.equals(STRING_JOIN_EXPRESSION)) return new StringJoinImpl(node);
if (type.equals(MESSAGE_NAME_EXPRESSION)) return new MessageNameImpl(node);
if (type.equals(COMPOUND_EXPRESSION_EXPRESSION)) return new CompoundExpressionImpl(node);