static O curry(fO f, fO arg) { int n = numberOfFunctionArguments(f); if (n == 2) ret new F1 { O get(O a) { ret callF(f, arg, a); } }; todo("currying a function with " + n + "arguments"); }