proc initRef*(self: Reference): bool {.gcsafe, locks: 0.}
proc reference*(self: Reference) {.gcsafe, locks: 0.}
proc unreference*(self: Reference): bool {.gcsafe, locks: 0.}