TypeId = distinct int
proc associate(t: TypeId; name: string; node: NimNode) {....raises: [], tags: [], forbids: [].}
proc getTypeId(T: type): TypeId
iterator associations(t: TypeId; name: string): NimNode {....raises: [], tags: [], forbids: [].}