EntityId = distinct uint
proc `$`(entityId: EntityId): string {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: EntityId): bool {....raises: [], tags: [], forbids: [].}
proc hash(entityId: EntityId): Hash {....raises: [], tags: [], forbids: [].}
proc incGen(entityId: EntityId): EntityId {....raises: [], tags: [], forbids: [].}
proc toInt(entityId: EntityId): uint {.inline, ...raises: [], tags: [], forbids: [].}