persistable sclass GPolymorphicOperator extends GAbstractOperator { settable new L> definitions; *(S *name, GOperator... definitions) { this.definitions = asList(definitions); } toString { ret name + " [polymorphic operator]"; } S toStringWithDefinitions() { ret name + " - polymorphic operator with " + n2(definitions, "definition") + ":\n" + lines_rtrim(indentAll(definitions)); } }