    
     nativeMetadata[Object.__mdid__].properties = {
       create: create
-      getPrototypeOf: prototypeOf
+      getPrototypeOf: getPrototypeOf
       defineProperty: defineProperty
     }
 

              register(obj[k], restrict[k])
        return
      return nativeMetadata[obj.__mdid__] = new ObjectMetadata(obj)

    getOwnPropertyDescriptor = (obj, key) =>


    }

    # retrieves the metadata from the closest object in the prototype chain
    # that has a metadata object associated
    @mdproto = (obj) ->
      proto = prototypeOf(obj)
      if proto
