Only use I see for `makeID` and `setID` is to cache generated ID's for instances and do it without storing them as properties somewhere. I'm convinced that storing them is a  good idea anyway and if for some reason we still will want to not store
them it's still easy to achieve caching using funcitional/utils:

```js
identify.define(Thingy, cache(makeIdForThingy))
```