sig
  type 'execution_context t_ =
    'execution_context Raw_monitor.t_ = {
    name : Core.Std.Info.t;
    here : Core.Std.Source_code_position.t option;
    id : int;
    parent : 'execution_context t_ option;
    errors : (exn, 'execution_context) Raw_tail.t;
    mutable has_seen_error : bool;
    mutable someone_is_listening : bool;
  }
  val someone_is_listening : 'a t_ -> bool
  val set_someone_is_listening : 'a t_ -> bool -> unit
  val has_seen_error : 'a t_ -> bool
  val set_has_seen_error : 'a t_ -> bool -> unit
  val errors : 'a t_ -> (exn, 'a) Raw_tail.t
  val parent : 'a t_ -> 'a t_ option
  val id : 'a t_ -> int
  val here : 'a t_ -> Core.Std.Source_code_position.t option
  val name : 'a t_ -> Core.Std.Info.t
  module Fields :
    sig
      val someone_is_listening : ('a t_, bool) Fieldslib.Field.t
      val has_seen_error : ('a t_, bool) Fieldslib.Field.t
      val errors :
        ('execution_context t_, (exn, 'execution_context) Raw_tail.t)
        Fieldslib.Field.t
      val parent :
        ('execution_context t_, 'execution_context t_ option)
        Fieldslib.Field.t
      val id : ('a t_, int) Fieldslib.Field.t
      val here :
        ('a t_, Core.Std.Source_code_position.t option) Fieldslib.Field.t
      val name : ('a t_, Core.Std.Info.t) Fieldslib.Field.t
    end
  module Pretty :
    sig
      type one =
        Raw_monitor.Pretty.one = {
        name : Core.Std.Info.t;
        here : Core.Std.Source_code_position.t option;
        id : int;
        has_seen_error : bool;
        someone_is_listening : bool;
      }
      val sexp_of_one : one -> Sexplib.Sexp.t
      type t = one list
      val sexp_of_t : one list -> Sexplib.Sexp.t
    end
  val to_pretty : 'a t_ -> Pretty.one Core.Std.List.t
  val sexp_of_t_ : '-> 'b t_ -> Sexplib.Sexp.t
  exception Shutdown
  val ounit_tests : unit -> OUnit.test
end