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