I have implemented a curry function this way:
curry
function curry (fn) { var slice = Array.prototype.slice, args = slice.apply(arguments,
You're missing a return in your curry function.
return
I.e.
return function () { return fn.apply(null, args.concat(slice.apply(arguments))); };
That seems to work :)