sig
type mutex
val create : priority:'a -> 'a Duppy.scheduler -> Duppy.Monad.Mutex.mutex
val lock : Duppy.Monad.Mutex.mutex -> (unit, 'a) Duppy.Monad.t
val try_lock : Duppy.Monad.Mutex.mutex -> (bool, 'a) Duppy.Monad.t
val unlock : Duppy.Monad.Mutex.mutex -> (unit, 'a) Duppy.Monad.t
end