Await_capsule.Mutextype 'k t = 'k Await_sync.Mutex.tmodule Create () : Module_with_mutexLike create. Useful in module definitions, where GADTs cannot be unpacked.
val with_lock :
'k 'a 'b. Await_kernel.Await.t @ local ->
('k t ->
(f:
('k Portable_kernel.Capsule.Access.t -> 'a @ portable contended) @ local once portable ->
'a @ portable contended) @ local) @ local