I know this is mostly a theoretical digression, but anyway. Given that an atomic counted should be treated as a distinct type I'd say something like the following makes a bit more sense.
`var x = new Object[RefCount = Atomic]` This same type of logic could be used for customly allocated objects type MyType = Object[Alloc = myAllocProc, ReallocProc = myReallocProc, FreeProc = myFreeProc] Run I have something akin to that [here](https://github.com/beef331/nimtrest/blob/master/remoterefs.nim#L25-L33). But the issue is quickly found that you cannot tell Nim to use your allocators for children.