Type cons = definitions.CONS_TYPE(element); return New(mkPrimaryConstr(pos, cons, new Tree[]{head, tail}));
return New( mkApplyTV( mkPrimaryConstructorGlobalRef(pos, definitions.CONS_CLASS), new Type[]{element}, new Tree[]{head, tail}));
    public Tree mkNewCons(int pos, Type element, Tree head, Tree tail) {        // !!! these checks can be removed once they are done in Apply        assert head.type().isSubType(element):            element + " -- " + head + " : " + head.type;        assert tail.type().isSubType(definitions.LIST_TYPE(element)):            element + " -- " + tail + " : " + tail.type;        Type cons = definitions.CONS_TYPE(element);	return New(mkPrimaryConstr(pos, cons, new Tree[]{head, tail}));    }