JavaScript: Curried Conversion Functions

We can create a JavaScript function that will convert Fahrenheit to Centigrade:
alert(f2c(59)) //15
If we add a "false" parameter, it converts in the opposite direction: 
alert(f2c(15,false))//59
The f2c() function is curried from a converter function, so you can create as many conversion functions as you like. The offset
parameter is -32 for Fahrenheit to Centigrade, for most conversions offset will be 0.

The curry function is from Curry: cooking up tastier functions

Function.prototype.curry = function () {
   if (arguments.length < 1)
      return this //nothing to curry with - return function
   var __method = this
   var args = toArray(arguments)
   return function () {
      return __method.apply(this, args.concat(toArray(arguments)))
   }
}
var converter = function (ratio,  offset, input,mul) {
   if (mul===false)
      return (input / ratio) - offset
   else
      return (input + offset) * ratio
}

var kilo2pound = converter.curry(2.2, 0)
var mile3kilometer = converter.curry(1.62, 0)
var f2c = converter.curry(0.555556, -32)
var yard2meter = converter.curry(1 / 1.0936132983377077865267, 0)
var inch2mm = converter.curry(25.399999999972568, 0)

alert(inch2mm(12.5,false))//0.492
alert(inch2mm(12,true)) //304.8
alert(inch2mm(12)); //304.8
alert(f2c(59)) //15
alert(f2c(15,false))//59