sig
  val iter :
    'Raw_monitor.t ->
    name_opt:(('Raw_monitor.t, string option) Fieldslib.Field.t ->
              'Raw_monitor.t -> string option -> 'c) ->
    id:(('Raw_monitor.t, int) Fieldslib.Field.t ->
        'Raw_monitor.t -> int -> 'e) ->
    parent:(('Raw_monitor.t, 'Raw_monitor.t option) Fieldslib.Field.t ->
            'Raw_monitor.t -> 'Raw_monitor.t option -> 'g) ->
    errors:(('Raw_monitor.t, (exn, 'h) Raw_monitor.Tail.t)
            Fieldslib.Field.t ->
            'Raw_monitor.t -> (exn, 'a) Raw_monitor.Tail.t -> 'i) ->
    has_seen_error:(('Raw_monitor.t, bool) Fieldslib.Field.t ->
                    'Raw_monitor.t -> bool -> 'k) ->
    someone_is_listening:(('Raw_monitor.t, bool) Fieldslib.Field.t ->
                          'Raw_monitor.t -> bool -> 'm) ->
    'm
  val fold :
    'Raw_monitor.t ->
    init:'->
    name_opt:('->
              ('Raw_monitor.t, string option) Fieldslib.Field.t ->
              'Raw_monitor.t -> string option -> 'd) ->
    id:('->
        ('Raw_monitor.t, int) Fieldslib.Field.t ->
        'Raw_monitor.t -> int -> 'f) ->
    parent:('->
            ('Raw_monitor.t, 'Raw_monitor.t option) Fieldslib.Field.t ->
            'Raw_monitor.t -> 'Raw_monitor.t option -> 'h) ->
    errors:('->
            ('Raw_monitor.t, (exn, 'i) Raw_monitor.Tail.t)
            Fieldslib.Field.t ->
            'Raw_monitor.t -> (exn, 'a) Raw_monitor.Tail.t -> 'j) ->
    has_seen_error:('->
                    ('Raw_monitor.t, bool) Fieldslib.Field.t ->
                    'Raw_monitor.t -> bool -> 'l) ->
    someone_is_listening:('->
                          ('Raw_monitor.t, bool) Fieldslib.Field.t ->
                          'Raw_monitor.t -> bool -> 'n) ->
    'n
end