proc lock*(self: Mutex) {.gcsafe, locks: 0.}
proc tryLock*(self: Mutex): Error {.gcsafe, locks: 0.}
proc unlock*(self: Mutex) {.gcsafe, locks: 0.}