sig
  type t
  val create : string -> Monitor_sig.Monitor.Point.t
  val kill : Monitor_sig.Monitor.Point.t -> unit
  val observe : Monitor_sig.Monitor.Point.t -> unit
  val observe_calls : string -> ('-> '-> 'c) -> '-> '-> 'c
  val observe_calls2 : string -> ('-> '-> 'c) -> '-> '-> 'c
  val observe_calls_rec : string -> (('-> 'b) -> '-> 'b) -> '-> 'b
  val observe_calls_rec2 :
    string -> (('-> '-> 'c) -> '-> '-> 'c) -> '-> '-> 'c
end