docs: function generateGuid(obj, prefix) {
      if (!prefix) {
        prefix = GUID_PREFIX;
      }
  
      var ret = prefix + uuid();
      if (obj) {
        if (obj[GUID_KEY] === null) {
          obj[GUID_KEY] = ret;
        } else {
          GUID_DESC.value = ret;
          if (obj.__defineNonEnumerable) {
            obj.__defineNonEnumerable(GUID_KEY_PROPERTY);
          } else {
            Object.defineProperty(obj, GUID_KEY, GUID_DESC);
          }
        }
      }
      return ret;
    }