module Direct: sig .. end
val iter : Raw_fd.T.t ->
       file_descr:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.File_descr.t)
                   Fieldslib.Field.t_with_perm ->
                   Raw_fd.T.t -> Raw_fd.File_descr.t -> 'a) ->
       info:(([< `Read | `Set_and_create ], Raw_fd.T.t, Core.Std.Info.t)
             Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> Core.Std.Info.t -> 'b) ->
       kind:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.Kind.t)
             Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> Raw_fd.Kind.t -> 'c) ->
       supports_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> bool -> 'd) ->
       have_set_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> bool -> 'e) ->
       state:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.State.t)
              Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> Raw_fd.State.t -> 'f) ->
       watching:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                  Raw_fd.Watching.t Read_write.Mutable.t)
                 Fieldslib.Field.t_with_perm ->
                 Raw_fd.T.t -> Raw_fd.Watching.t Read_write.Mutable.t -> 'g) ->
       watching_has_changed:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                             Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> bool -> 'h) ->
       num_active_syscalls:(([< `Read | `Set_and_create ], Raw_fd.T.t, int)
                            Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> int -> 'i) ->
       close_finished:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                        unit Import.Ivar.t)
                       Fieldslib.Field.t_with_perm ->
                       Raw_fd.T.t -> unit Import.Ivar.t -> 'j) ->
       'j
val fold : Raw_fd.T.t ->
       init:'a ->
       file_descr:('a ->
                   ([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.File_descr.t)
                   Fieldslib.Field.t_with_perm ->
                   Raw_fd.T.t -> Raw_fd.File_descr.t -> 'b) ->
       info:('b ->
             ([< `Read | `Set_and_create ], Raw_fd.T.t, Core.Std.Info.t)
             Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> Core.Std.Info.t -> 'c) ->
       kind:('c ->
             ([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.Kind.t)
             Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> Raw_fd.Kind.t -> 'd) ->
       supports_nonblock:('d ->
                          ([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> bool -> 'e) ->
       have_set_nonblock:('e ->
                          ([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> bool -> 'f) ->
       state:('f ->
              ([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.State.t)
              Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> Raw_fd.State.t -> 'g) ->
       watching:('g ->
                 ([< `Read | `Set_and_create ], Raw_fd.T.t,
                  Raw_fd.Watching.t Read_write.Mutable.t)
                 Fieldslib.Field.t_with_perm ->
                 Raw_fd.T.t -> Raw_fd.Watching.t Read_write.Mutable.t -> 'h) ->
       watching_has_changed:('h ->
                             ([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                             Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> bool -> 'i) ->
       num_active_syscalls:('i ->
                            ([< `Read | `Set_and_create ], Raw_fd.T.t, int)
                            Fieldslib.Field.t_with_perm -> Raw_fd.T.t -> int -> 'j) ->
       close_finished:('j ->
                       ([< `Read | `Set_and_create ], Raw_fd.T.t,
                        unit Import.Ivar.t)
                       Fieldslib.Field.t_with_perm ->
                       Raw_fd.T.t -> unit Import.Ivar.t -> 'k) ->
       'k