mutable.js
function mutable(/* a[, b[, ...]] */)
{
  var args   = Array.prototype.slice.call(arguments)
    , result = args.shift()
    ;

  while (args.length)
  {
    result = merge.call(this, result, args.shift());
  }

  return result;
}
function mutable(/* a[, b[, ...]] */)
{
  var args   = Array.prototype.slice.call(arguments)
    , result = args.shift()
    ;

  while (args.length)
  {
    result = merge.call(this, result, args.shift());
  }

  return result;
}
function mutable ( /* a[, b[, ...]] */ ) { var args = Array . prototype . slice . call ( arguments ) , result = args . shift ( ) ; while ( args . length ) { result = merge . call ( this , result , args . shift ( ) ) ; } return result ; }
Deeply merges properties of the provided objects, into the first object.

@param {...mixed} value - values to merge
@returns {mixed} first value with merged in properties from other values
Deeply merges properties of the provided objects into the first object .