I'd suggest to just keep `getID(thing)` or `identify(thing)`. set & make are redundant:

```js
let identify = method()
let identified = new WeakMap()
identify.define(thing => {
   if (!identified.has(thing))
     identified.set(thing, generateUUID())
  
  return identified.get(thing)
})
exports.identify = identify
```