code: function copy() {
    var result = {}
      , depth = 2
      , seen = [];
  
    (function worker() {
      each(array(arguments), function each(obj) {
        for (var prop in obj) {
          if (hasOwn.call(obj, prop) && !~index(seen, obj[prop])) {
            if (type(obj[prop]) !== 'object' || !depth) {
              result[prop] = obj[prop];
              seen.push(obj[prop]);
            } else {
              depth--;
              worker(result[prop], obj[prop]);
            }
          }
        }
      });
    }).apply(null, arguments);
  
    return result;
  }
docs: Merge all given objects in to one objects.
  
  @returns {Object}
  @api public