mutate.js
function (sig, fn) {
        var isArr = toType(fn) === 'array';
        sig || (sig = []);

        map[sig.join('::').toLowerCase()] = {
          fn: isArr ? passObject(fn) : fn,
          inject: isArr ? true : (fn.length > sig.length)
        };

        return this;
      }
function (sig, fn) {
        var isArr = toType(fn) === 'array';
        sig || (sig = []);

        map[sig.join('::').toLowerCase()] = {
          fn: isArr ? passObject(fn) : fn,
          inject: isArr ? true : (fn.length > sig.length)
        };

        return this;
      }
function ( sig , fn ) { var isArr = toType ( fn ) === 'array' ; sig || ( sig = [ ] ) ; map [ sig . join ( '::' ) . toLowerCase ( ) ] = { fn : isArr ? passObject ( fn ) : fn , inject : isArr ? true : ( fn . length > sig . length ) } ; return this ; }
add a new method
add a new method