private TupleType simplifySelf(TupleType from) {
        TupleType simplified = new TupleType();
        if (from.eltTypes.size() > 0) {
            if (cls != null) {
                simplified.add(cls.getCanon());
            } else {
                simplified.add(from.get(0));
            }
        }

        for (int i = 1; i < from.eltTypes.size(); i++) {
            simplified.add(from.get(i));
        }
        return simplified;
    }