ECS is all the rage atm, but its not that new. One of my hobby engines defined entities as
uint32_t with the first byte reserved, and the rest defining the instance.
I used the first byte to define if the uint32_t in question was a reference or not. This
allowed me to know if the entity was ‘owned’ somewhere else, however you could sneak any
type information in here.