I (proudly) copied the idea of using the metadata for storing these functions from clojure.zip. A zipper is a data structure that its specific helper functions are found in its metadata, and I wanted index to have the same kind of design, as these functions have similar role to the zipper functions
One use-case for entities that are not created with ids is events that arrive to the system and their does not matter, just their data, and you don't expect the clients to generate ids for the streamed events.