sig
  val names : string list
  val kill_index :
    ([< `Read | `Set_and_create ], 'Raw_monitor.t_, Kill_index.t)
    Fieldslib.Field.t_with_perm
  val someone_is_listening :
    ([< `Read | `Set_and_create ], 'Raw_monitor.t_, bool)
    Fieldslib.Field.t_with_perm
  val has_seen_error :
    ([< `Read | `Set_and_create ], 'Raw_monitor.t_, bool)
    Fieldslib.Field.t_with_perm
  val errors :
    ([< `Read | `Set_and_create ], 'execution_context Raw_monitor.t_,
     (exn, 'execution_context) Raw_tail.t)
    Fieldslib.Field.t_with_perm
  val parent :
    ([< `Read | `Set_and_create ], 'execution_context Raw_monitor.t_,
     'execution_context Raw_monitor.t_ option)
    Fieldslib.Field.t_with_perm
  val id :
    ([< `Read | `Set_and_create ], 'Raw_monitor.t_, int)
    Fieldslib.Field.t_with_perm
  val here :
    ([< `Read | `Set_and_create ], 'Raw_monitor.t_,
     Core.Std.Source_code_position.t option)
    Fieldslib.Field.t_with_perm
  val name :
    ([< `Read | `Set_and_create ], 'Raw_monitor.t_, Core.Std.Info.t)
    Fieldslib.Field.t_with_perm
  val make_creator :
    name:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, Core.Std.Info.t)
          Fieldslib.Field.t_with_perm -> '-> ('-> Core.Std.Info.t) * 'd) ->
    here:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
           Core.Std.Source_code_position.t option)
          Fieldslib.Field.t_with_perm ->
          '-> ('-> Core.Std.Source_code_position.t option) * 'f) ->
    id:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, int)
        Fieldslib.Field.t_with_perm -> '-> ('-> int) * 'h) ->
    parent:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             'Raw_monitor.t_ option)
            Fieldslib.Field.t_with_perm ->
            '-> ('-> 'Raw_monitor.t_ option) * 'k) ->
    errors:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             (exn, 'l) Raw_tail.t)
            Fieldslib.Field.t_with_perm ->
            '-> ('-> (exn, 'j) Raw_tail.t) * 'm) ->
    has_seen_error:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, bool)
                    Fieldslib.Field.t_with_perm -> '-> ('-> bool) * 'o) ->
    someone_is_listening:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                           bool)
                          Fieldslib.Field.t_with_perm ->
                          '-> ('-> bool) * 'q) ->
    kill_index:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm ->
                '-> ('-> Kill_index.t) * 's) ->
    '-> ('-> 'Raw_monitor.t_) * 's
  val create :
    name:Core.Std.Info.t ->
    here:Core.Std.Source_code_position.t option ->
    id:int ->
    parent:'Raw_monitor.t_ option ->
    errors:(exn, 'a) Raw_tail.t ->
    has_seen_error:bool ->
    someone_is_listening:bool -> kill_index:Kill_index.t -> 'Raw_monitor.t_
  val map :
    name:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, Core.Std.Info.t)
          Fieldslib.Field.t_with_perm -> Core.Std.Info.t) ->
    here:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
           Core.Std.Source_code_position.t option)
          Fieldslib.Field.t_with_perm ->
          Core.Std.Source_code_position.t option) ->
    id:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, int)
        Fieldslib.Field.t_with_perm -> int) ->
    parent:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             'Raw_monitor.t_ option)
            Fieldslib.Field.t_with_perm -> 'Raw_monitor.t_ option) ->
    errors:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             (exn, 'f) Raw_tail.t)
            Fieldslib.Field.t_with_perm -> (exn, 'e) Raw_tail.t) ->
    has_seen_error:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, bool)
                    Fieldslib.Field.t_with_perm -> bool) ->
    someone_is_listening:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                           bool)
                          Fieldslib.Field.t_with_perm -> bool) ->
    kill_index:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm -> Kill_index.t) ->
    'Raw_monitor.t_
  val iter :
    name:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, Core.Std.Info.t)
          Fieldslib.Field.t_with_perm -> 'b) ->
    here:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
           Core.Std.Source_code_position.t option)
          Fieldslib.Field.t_with_perm -> 'd) ->
    id:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, int)
        Fieldslib.Field.t_with_perm -> 'f) ->
    parent:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             'Raw_monitor.t_ option)
            Fieldslib.Field.t_with_perm -> 'h) ->
    errors:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             (exn, 'i) Raw_tail.t)
            Fieldslib.Field.t_with_perm -> 'j) ->
    has_seen_error:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, bool)
                    Fieldslib.Field.t_with_perm -> 'l) ->
    someone_is_listening:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                           bool)
                          Fieldslib.Field.t_with_perm -> 'n) ->
    kill_index:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm -> 'p) ->
    'p
  val fold :
    init:'->
    name:('->
          ([< `Read | `Set_and_create ], 'Raw_monitor.t_, Core.Std.Info.t)
          Fieldslib.Field.t_with_perm -> 'c) ->
    here:('->
          ([< `Read | `Set_and_create ], 'Raw_monitor.t_,
           Core.Std.Source_code_position.t option)
          Fieldslib.Field.t_with_perm -> 'e) ->
    id:('->
        ([< `Read | `Set_and_create ], 'Raw_monitor.t_, int)
        Fieldslib.Field.t_with_perm -> 'g) ->
    parent:('->
            ([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             'Raw_monitor.t_ option)
            Fieldslib.Field.t_with_perm -> 'i) ->
    errors:('->
            ([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             (exn, 'j) Raw_tail.t)
            Fieldslib.Field.t_with_perm -> 'k) ->
    has_seen_error:('->
                    ([< `Read | `Set_and_create ], 'Raw_monitor.t_, bool)
                    Fieldslib.Field.t_with_perm -> 'm) ->
    someone_is_listening:('->
                          ([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                           bool)
                          Fieldslib.Field.t_with_perm -> 'o) ->
    kill_index:('->
                ([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm -> 'q) ->
    'q
  val map_poly :
    ([< `Read | `Set_and_create ], 'Raw_monitor.t_, 'b)
    Fieldslib.Field.user -> 'b list
  val for_all :
    name:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, Core.Std.Info.t)
          Fieldslib.Field.t_with_perm -> bool) ->
    here:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
           Core.Std.Source_code_position.t option)
          Fieldslib.Field.t_with_perm -> bool) ->
    id:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, int)
        Fieldslib.Field.t_with_perm -> bool) ->
    parent:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             'Raw_monitor.t_ option)
            Fieldslib.Field.t_with_perm -> bool) ->
    errors:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             (exn, 'e) Raw_tail.t)
            Fieldslib.Field.t_with_perm -> bool) ->
    has_seen_error:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, bool)
                    Fieldslib.Field.t_with_perm -> bool) ->
    someone_is_listening:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                           bool)
                          Fieldslib.Field.t_with_perm -> bool) ->
    kill_index:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm -> bool) ->
    bool
  val exists :
    name:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, Core.Std.Info.t)
          Fieldslib.Field.t_with_perm -> bool) ->
    here:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
           Core.Std.Source_code_position.t option)
          Fieldslib.Field.t_with_perm -> bool) ->
    id:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, int)
        Fieldslib.Field.t_with_perm -> bool) ->
    parent:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             'Raw_monitor.t_ option)
            Fieldslib.Field.t_with_perm -> bool) ->
    errors:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             (exn, 'e) Raw_tail.t)
            Fieldslib.Field.t_with_perm -> bool) ->
    has_seen_error:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, bool)
                    Fieldslib.Field.t_with_perm -> bool) ->
    someone_is_listening:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                           bool)
                          Fieldslib.Field.t_with_perm -> bool) ->
    kill_index:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm -> bool) ->
    bool
  val to_list :
    name:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, Core.Std.Info.t)
          Fieldslib.Field.t_with_perm -> 'b) ->
    here:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
           Core.Std.Source_code_position.t option)
          Fieldslib.Field.t_with_perm -> 'b) ->
    id:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, int)
        Fieldslib.Field.t_with_perm -> 'b) ->
    parent:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             'Raw_monitor.t_ option)
            Fieldslib.Field.t_with_perm -> 'b) ->
    errors:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
             (exn, 'f) Raw_tail.t)
            Fieldslib.Field.t_with_perm -> 'b) ->
    has_seen_error:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, bool)
                    Fieldslib.Field.t_with_perm -> 'b) ->
    someone_is_listening:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                           bool)
                          Fieldslib.Field.t_with_perm -> 'b) ->
    kill_index:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm -> 'b) ->
    'b list
  module Direct :
    sig
      val iter :
        'Raw_monitor.t_ ->
        name:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
               Core.Std.Info.t)
              Fieldslib.Field.t_with_perm ->
              'Raw_monitor.t_ -> Core.Std.Info.t -> 'c) ->
        here:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
               Core.Std.Source_code_position.t option)
              Fieldslib.Field.t_with_perm ->
              'Raw_monitor.t_ ->
              Core.Std.Source_code_position.t option -> 'e) ->
        id:(([< `Read | `Set_and_create ], 'Raw_monitor.t_, int)
            Fieldslib.Field.t_with_perm -> 'Raw_monitor.t_ -> int -> 'g) ->
        parent:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                 'Raw_monitor.t_ option)
                Fieldslib.Field.t_with_perm ->
                'Raw_monitor.t_ -> 'Raw_monitor.t_ option -> 'i) ->
        errors:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                 (exn, 'j) Raw_tail.t)
                Fieldslib.Field.t_with_perm ->
                'Raw_monitor.t_ -> (exn, 'a) Raw_tail.t -> 'k) ->
        has_seen_error:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                         bool)
                        Fieldslib.Field.t_with_perm ->
                        'Raw_monitor.t_ -> bool -> 'm) ->
        someone_is_listening:(([< `Read | `Set_and_create ],
                               'Raw_monitor.t_, bool)
                              Fieldslib.Field.t_with_perm ->
                              'Raw_monitor.t_ -> bool -> 'o) ->
        kill_index:(([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                     Kill_index.t)
                    Fieldslib.Field.t_with_perm ->
                    'Raw_monitor.t_ -> Kill_index.t -> 'q) ->
        'q
      val fold :
        'Raw_monitor.t_ ->
        init:'->
        name:('->
              ([< `Read | `Set_and_create ], 'Raw_monitor.t_,
               Core.Std.Info.t)
              Fieldslib.Field.t_with_perm ->
              'Raw_monitor.t_ -> Core.Std.Info.t -> 'd) ->
        here:('->
              ([< `Read | `Set_and_create ], 'Raw_monitor.t_,
               Core.Std.Source_code_position.t option)
              Fieldslib.Field.t_with_perm ->
              'Raw_monitor.t_ ->
              Core.Std.Source_code_position.t option -> 'f) ->
        id:('->
            ([< `Read | `Set_and_create ], 'Raw_monitor.t_, int)
            Fieldslib.Field.t_with_perm -> 'Raw_monitor.t_ -> int -> 'h) ->
        parent:('->
                ([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                 'Raw_monitor.t_ option)
                Fieldslib.Field.t_with_perm ->
                'Raw_monitor.t_ -> 'Raw_monitor.t_ option -> 'j) ->
        errors:('->
                ([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                 (exn, 'k) Raw_tail.t)
                Fieldslib.Field.t_with_perm ->
                'Raw_monitor.t_ -> (exn, 'a) Raw_tail.t -> 'l) ->
        has_seen_error:('->
                        ([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                         bool)
                        Fieldslib.Field.t_with_perm ->
                        'Raw_monitor.t_ -> bool -> 'n) ->
        someone_is_listening:('->
                              ([< `Read | `Set_and_create ],
                               'Raw_monitor.t_, bool)
                              Fieldslib.Field.t_with_perm ->
                              'Raw_monitor.t_ -> bool -> 'p) ->
        kill_index:('->
                    ([< `Read | `Set_and_create ], 'Raw_monitor.t_,
                     Kill_index.t)
                    Fieldslib.Field.t_with_perm ->
                    'Raw_monitor.t_ -> Kill_index.t -> 'r) ->
        'r
    end
end