code: function copyDeep(source) {
      for (var
        key, descriptor, value,
        target = create(gPO(source)),
        names = oK(source),
        i = 0; i < names.length; i++
      ) {
        key = names[i];
        descriptor = gOPD(source, key);
        if (hOP.call(descriptor, VALUE)) {
          copyValueIfObject(descriptor, copyDeep);
        }
        defineProperty(target, key, descriptor);
      }
      return target;
    }
docs: deep copy all properties of an object (static objects only)