Function.prototype.curry = function FunctionCurry(defaults) {
    var fn = this;
    return function(params) {
        return fn.apply(this, defaults.concat(params));
    };
};