code: function __clone(item) {
      var result, i, k, l;
  
      if (!item)
        return item;
  
      if (Array.isArray(item)) {
        result = [];
        for (i = 0, l = item.length; i < l; i++)
          result.push(__clone(item[i]));
      } else if (typeof item === 'object') {
        result = {};
        for (i in item)
          result[i] = __clone(item[i]);
      } else
        result = item;
  
      return result;
    }
docs: This function simply clones an object. This object must contain only
  objects, arrays and immutable values. Since it is not public, it does not
  deal with cyclic references, DOM elements and instantiated objects - so
  use it carefully.
  
  @param  {Object} The object to clone.
  @return {Object} The clone.