public Type type(Env<String, Type> env) { Type t = op.type(env).deref(env); ast.types.Fun funType = Type.expect(op.getLineStart(), op.getLineEnd(), ast.types.Fun.class, this, t); checkArgTypes(funType, env); setType(funType.getRange()); return getType(); }