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 -> 'a) ->
    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 -> 'b) ->
    id:(([< `Read | `Set_and_create ], Raw_monitor.t, int)
        Fieldslib.Field.t_with_perm -> Raw_monitor.t -> int -> 'c) ->
    parent:(([< `Read | `Set_and_create ], Raw_monitor.t,
             Raw_monitor.t option)
            Fieldslib.Field.t_with_perm ->
            Raw_monitor.t -> Raw_monitor.t option -> 'd) ->
    error_handlers:(([< `Read | `Set_and_create ], Raw_monitor.t,
                     (exn -> unit) list)
                    Fieldslib.Field.t_with_perm ->
                    Raw_monitor.t -> (exn -> unit) list -> 'e) ->
    has_seen_error:(([< `Read | `Set_and_create ], Raw_monitor.t, bool)
                    Fieldslib.Field.t_with_perm ->
                    Raw_monitor.t -> bool -> 'f) ->
    someone_is_listening:(([< `Read | `Set_and_create ], Raw_monitor.t, bool)
                          Fieldslib.Field.t_with_perm ->
                          Raw_monitor.t -> bool -> 'g) ->
    kill_index:(([< `Read | `Set_and_create ], Raw_monitor.t, Kill_index.t)
                Fieldslib.Field.t_with_perm ->
                Raw_monitor.t -> Kill_index.t -> 'h) ->
    'h
  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 -> 'b) ->
    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 -> 'c) ->
    id:('->
        ([< `Read | `Set_and_create ], Raw_monitor.t, int)
        Fieldslib.Field.t_with_perm -> Raw_monitor.t -> int -> 'd) ->
    parent:('->
            ([< `Read | `Set_and_create ], Raw_monitor.t,
             Raw_monitor.t option)
            Fieldslib.Field.t_with_perm ->
            Raw_monitor.t -> Raw_monitor.t option -> 'e) ->
    error_handlers:('->
                    ([< `Read | `Set_and_create ], Raw_monitor.t,
                     (exn -> unit) list)
                    Fieldslib.Field.t_with_perm ->
                    Raw_monitor.t -> (exn -> unit) list -> 'f) ->
    has_seen_error:('->
                    ([< `Read | `Set_and_create ], Raw_monitor.t, bool)
                    Fieldslib.Field.t_with_perm ->
                    Raw_monitor.t -> bool -> 'g) ->
    someone_is_listening:('->
                          ([< `Read | `Set_and_create ], Raw_monitor.t, bool)
                          Fieldslib.Field.t_with_perm ->
                          Raw_monitor.t -> bool -> 'h) ->
    kill_index:('->
                ([< `Read | `Set_and_create ], Raw_monitor.t, Kill_index.t)
                Fieldslib.Field.t_with_perm ->
                Raw_monitor.t -> Kill_index.t -> 'i) ->
    'i
end