sig
  type t
  val create : unit -> Lwt_mutex.t
  val lock : Lwt_mutex.t -> unit Lwt.t
  val unlock : Lwt_mutex.t -> unit
end