public List<Type> save() {
        ListBuffer<Type> buf = new ListBuffer<>();
        for (Type t : undetvars) {
            buf.add(((UndetVar)t).dup(infer.types));
        }
        return buf.toList();
    }
public List < Type > save ( ) { ListBuffer < Type > buf = new ListBuffer < > ( ) ; for ( Type t : undetvars ) { buf . add ( ( ( UndetVar ) t ) . dup ( infer . types ) ) ; } return buf . toList ( ) ; }
Save the state of this inference context