lib/MissMatch.js
function curry(fun, args) {
    return function (x) {        
      return fun.apply(bindingContext, args.concat([x]));
    };
  }
function curry(fun, args) {
    return function (x) {        
      return fun.apply(bindingContext, args.concat([x]));
    };
  }
curry takes a function, and a partial list of arguments and returns
a function that can be executed with the rest of the arguments.

--> var max = curry(Math.max, [2,5]);
--> max(4);
--> 5