ref: 00c219c7d9c2b9f60c2db0e1ba7289b2301209a7
dir: /module/lock.m/
Lock: module { PATH: con "/dis/lib/lock.dis"; Semaphore: adt { c: chan of int; obtain: fn(nil: self ref Semaphore); release: fn(nil: self ref Semaphore); new: fn(): ref Semaphore; }; init: fn(); };