public ConstrainedType constrainedType(FinMap<Var, Schema> env, Constraints constrs) throws NoType { if (env.maps(this)) { Type instantiatedType = env.lookup(this).freshInstance(); return new ConstrainedType(constrs, instantiatedType); } else { throw new NoType(); } }
public Val eval(FinMap<Var, Val> env) { return env.lookup(this); }