proc lock(self: Mutex) {.gcsafe, locks: 0, raises: [], tags: [].}
proc tryLock(self: Mutex): Error {.gcsafe, locks: 0, raises: [], tags: [].}
proc unlock(self: Mutex) {.gcsafe, locks: 0, raises: [], tags: [].}