@Override public final void exitFunctionType(TypeParser.FunctionTypeContext ctx) { Type[] params = this.popParams(); this.addParam( Type.fun( params[0], params[1])); // We can do this because the grammer makes sure that a function // always has two arguments. }