sig
  type bigint = Core.Std.Big_int.big_int
  module Process :
    sig
      module Inode :
        sig
          type t
          val of_string : string -> Procfs.Process.Inode.t
          val to_string : Procfs.Process.Inode.t -> string
          val t_of_sexp : Sexplib.Sexp.t -> Procfs.Process.Inode.t
          val sexp_of_t : Procfs.Process.Inode.t -> Sexplib.Sexp.t
        end
      module Limits :
        sig
          module Rlimit :
            sig
              type value = [ `limited of Procfs.bigint | `unlimited ]
              type t = {
                soft : Procfs.Process.Limits.Rlimit.value;
                hard : Procfs.Process.Limits.Rlimit.value;
              }
              val hard :
                Procfs.Process.Limits.Rlimit.t ->
                Procfs.Process.Limits.Rlimit.value
              val soft :
                Procfs.Process.Limits.Rlimit.t ->
                Procfs.Process.Limits.Rlimit.value
              module Fields :
                sig
                  val names : string list
                  val hard :
                    (Procfs.Process.Limits.Rlimit.t,
                     Procfs.Process.Limits.Rlimit.value)
                    Fieldslib.Field.t
                  val soft :
                    (Procfs.Process.Limits.Rlimit.t,
                     Procfs.Process.Limits.Rlimit.value)
                    Fieldslib.Field.t
                  val fold :
                    init:'acc__ ->
                    soft:('acc__ ->
                          (Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t -> 'acc__) ->
                    hard:('acc__ ->
                          (Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t -> 'acc__) ->
                    'acc__
                  val make_creator :
                    soft:((Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> Procfs.Process.Limits.Rlimit.value) *
                          'compile_acc__) ->
                    hard:((Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> Procfs.Process.Limits.Rlimit.value) *
                          'compile_acc__) ->
                    'compile_acc__ ->
                    ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                    'compile_acc__
                  val create :
                    soft:Procfs.Process.Limits.Rlimit.value ->
                    hard:Procfs.Process.Limits.Rlimit.value ->
                    Procfs.Process.Limits.Rlimit.t
                  val iter :
                    soft:((Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t -> unit) ->
                    hard:((Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t -> unit) ->
                    unit
                  val map :
                    soft:((Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t ->
                          Procfs.Process.Limits.Rlimit.value) ->
                    hard:((Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t ->
                          Procfs.Process.Limits.Rlimit.value) ->
                    Procfs.Process.Limits.Rlimit.t
                  val map_poly :
                    (Procfs.Process.Limits.Rlimit.t, 'x0)
                    Fieldslib.Field.user -> 'x0 list
                  val for_all :
                    soft:((Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t -> bool) ->
                    hard:((Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t -> bool) ->
                    bool
                  val exists :
                    soft:((Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t -> bool) ->
                    hard:((Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t -> bool) ->
                    bool
                  val to_list :
                    soft:((Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t -> 'elem__) ->
                    hard:((Procfs.Process.Limits.Rlimit.t,
                           Procfs.Process.Limits.Rlimit.value)
                          Fieldslib.Field.t -> 'elem__) ->
                    'elem__ list
                  module Direct :
                    sig
                      val iter :
                        Procfs.Process.Limits.Rlimit.t ->
                        soft:((Procfs.Process.Limits.Rlimit.t,
                               Procfs.Process.Limits.Rlimit.value)
                              Fieldslib.Field.t ->
                              Procfs.Process.Limits.Rlimit.t ->
                              Procfs.Process.Limits.Rlimit.value -> unit) ->
                        hard:((Procfs.Process.Limits.Rlimit.t,
                               Procfs.Process.Limits.Rlimit.value)
                              Fieldslib.Field.t ->
                              Procfs.Process.Limits.Rlimit.t ->
                              Procfs.Process.Limits.Rlimit.value -> unit) ->
                        unit
                      val fold :
                        Procfs.Process.Limits.Rlimit.t ->
                        init:'acc__ ->
                        soft:('acc__ ->
                              (Procfs.Process.Limits.Rlimit.t,
                               Procfs.Process.Limits.Rlimit.value)
                              Fieldslib.Field.t ->
                              Procfs.Process.Limits.Rlimit.t ->
                              Procfs.Process.Limits.Rlimit.value -> 'acc__) ->
                        hard:('acc__ ->
                              (Procfs.Process.Limits.Rlimit.t,
                               Procfs.Process.Limits.Rlimit.value)
                              Fieldslib.Field.t ->
                              Procfs.Process.Limits.Rlimit.t ->
                              Procfs.Process.Limits.Rlimit.value -> 'acc__) ->
                        'acc__
                    end
                end
              val value_of_sexp :
                Sexplib.Sexp.t -> Procfs.Process.Limits.Rlimit.value
              val value_of_sexp__ :
                Sexplib.Sexp.t -> Procfs.Process.Limits.Rlimit.value
              val sexp_of_value :
                Procfs.Process.Limits.Rlimit.value -> Sexplib.Sexp.t
              val t_of_sexp :
                Sexplib.Sexp.t -> Procfs.Process.Limits.Rlimit.t
              val sexp_of_t :
                Procfs.Process.Limits.Rlimit.t -> Sexplib.Sexp.t
            end
          type t = {
            cpu_time : Procfs.Process.Limits.Rlimit.t;
            file_size : Procfs.Process.Limits.Rlimit.t;
            data_size : Procfs.Process.Limits.Rlimit.t;
            stack_size : Procfs.Process.Limits.Rlimit.t;
            core_file_size : Procfs.Process.Limits.Rlimit.t;
            resident_set : Procfs.Process.Limits.Rlimit.t;
            processes : Procfs.Process.Limits.Rlimit.t;
            open_files : Procfs.Process.Limits.Rlimit.t;
            locked_memory : Procfs.Process.Limits.Rlimit.t;
            address_space : Procfs.Process.Limits.Rlimit.t;
            file_locks : Procfs.Process.Limits.Rlimit.t;
            pending_signals : Procfs.Process.Limits.Rlimit.t;
            msgqueue_size : Procfs.Process.Limits.Rlimit.t;
            nice_priority : Procfs.Process.Limits.Rlimit.t;
            realtime_priority : Procfs.Process.Limits.Rlimit.t;
          }
          val realtime_priority :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val nice_priority :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val msgqueue_size :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val pending_signals :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val file_locks :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val address_space :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val locked_memory :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val open_files :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val processes :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val resident_set :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val core_file_size :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val stack_size :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val data_size :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val file_size :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          val cpu_time :
            Procfs.Process.Limits.t -> Procfs.Process.Limits.Rlimit.t
          module Fields :
            sig
              val names : string list
              val realtime_priority :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val nice_priority :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val msgqueue_size :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val pending_signals :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val file_locks :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val address_space :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val locked_memory :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val open_files :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val processes :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val resident_set :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val core_file_size :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val stack_size :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val data_size :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val file_size :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val cpu_time :
                (Procfs.Process.Limits.t, Procfs.Process.Limits.Rlimit.t)
                Fieldslib.Field.t
              val fold :
                init:'acc__ ->
                cpu_time:('acc__ ->
                          (Procfs.Process.Limits.t,
                           Procfs.Process.Limits.Rlimit.t)
                          Fieldslib.Field.t -> 'acc__) ->
                file_size:('acc__ ->
                           (Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> 'acc__) ->
                data_size:('acc__ ->
                           (Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> 'acc__) ->
                stack_size:('acc__ ->
                            (Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> 'acc__) ->
                core_file_size:('acc__ ->
                                (Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t -> 'acc__) ->
                resident_set:('acc__ ->
                              (Procfs.Process.Limits.t,
                               Procfs.Process.Limits.Rlimit.t)
                              Fieldslib.Field.t -> 'acc__) ->
                processes:('acc__ ->
                           (Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> 'acc__) ->
                open_files:('acc__ ->
                            (Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> 'acc__) ->
                locked_memory:('acc__ ->
                               (Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> 'acc__) ->
                address_space:('acc__ ->
                               (Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> 'acc__) ->
                file_locks:('acc__ ->
                            (Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> 'acc__) ->
                pending_signals:('acc__ ->
                                 (Procfs.Process.Limits.t,
                                  Procfs.Process.Limits.Rlimit.t)
                                 Fieldslib.Field.t -> 'acc__) ->
                msgqueue_size:('acc__ ->
                               (Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> 'acc__) ->
                nice_priority:('acc__ ->
                               (Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> 'acc__) ->
                realtime_priority:('acc__ ->
                                   (Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t -> 'acc__) ->
                'acc__
              val make_creator :
                cpu_time:((Procfs.Process.Limits.t,
                           Procfs.Process.Limits.Rlimit.t)
                          Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                          'compile_acc__) ->
                file_size:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t ->
                           'compile_acc__ ->
                           ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                           'compile_acc__) ->
                data_size:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t ->
                           'compile_acc__ ->
                           ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                           'compile_acc__) ->
                stack_size:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t ->
                            'compile_acc__ ->
                            ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                            'compile_acc__) ->
                core_file_size:((Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t ->
                                'compile_acc__ ->
                                ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                                'compile_acc__) ->
                resident_set:((Procfs.Process.Limits.t,
                               Procfs.Process.Limits.Rlimit.t)
                              Fieldslib.Field.t ->
                              'compile_acc__ ->
                              ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                              'compile_acc__) ->
                processes:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t ->
                           'compile_acc__ ->
                           ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                           'compile_acc__) ->
                open_files:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t ->
                            'compile_acc__ ->
                            ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                            'compile_acc__) ->
                locked_memory:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               'compile_acc__ ->
                               ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                               'compile_acc__) ->
                address_space:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               'compile_acc__ ->
                               ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                               'compile_acc__) ->
                file_locks:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t ->
                            'compile_acc__ ->
                            ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                            'compile_acc__) ->
                pending_signals:((Procfs.Process.Limits.t,
                                  Procfs.Process.Limits.Rlimit.t)
                                 Fieldslib.Field.t ->
                                 'compile_acc__ ->
                                 ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                                 'compile_acc__) ->
                msgqueue_size:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               'compile_acc__ ->
                               ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                               'compile_acc__) ->
                nice_priority:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               'compile_acc__ ->
                               ('input__ -> Procfs.Process.Limits.Rlimit.t) *
                               'compile_acc__) ->
                realtime_priority:((Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t ->
                                   'compile_acc__ ->
                                   ('input__ ->
                                    Procfs.Process.Limits.Rlimit.t) *
                                   'compile_acc__) ->
                'compile_acc__ ->
                ('input__ -> Procfs.Process.Limits.t) * 'compile_acc__
              val create :
                cpu_time:Procfs.Process.Limits.Rlimit.t ->
                file_size:Procfs.Process.Limits.Rlimit.t ->
                data_size:Procfs.Process.Limits.Rlimit.t ->
                stack_size:Procfs.Process.Limits.Rlimit.t ->
                core_file_size:Procfs.Process.Limits.Rlimit.t ->
                resident_set:Procfs.Process.Limits.Rlimit.t ->
                processes:Procfs.Process.Limits.Rlimit.t ->
                open_files:Procfs.Process.Limits.Rlimit.t ->
                locked_memory:Procfs.Process.Limits.Rlimit.t ->
                address_space:Procfs.Process.Limits.Rlimit.t ->
                file_locks:Procfs.Process.Limits.Rlimit.t ->
                pending_signals:Procfs.Process.Limits.Rlimit.t ->
                msgqueue_size:Procfs.Process.Limits.Rlimit.t ->
                nice_priority:Procfs.Process.Limits.Rlimit.t ->
                realtime_priority:Procfs.Process.Limits.Rlimit.t ->
                Procfs.Process.Limits.t
              val iter :
                cpu_time:((Procfs.Process.Limits.t,
                           Procfs.Process.Limits.Rlimit.t)
                          Fieldslib.Field.t -> unit) ->
                file_size:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> unit) ->
                data_size:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> unit) ->
                stack_size:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> unit) ->
                core_file_size:((Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t -> unit) ->
                resident_set:((Procfs.Process.Limits.t,
                               Procfs.Process.Limits.Rlimit.t)
                              Fieldslib.Field.t -> unit) ->
                processes:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> unit) ->
                open_files:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> unit) ->
                locked_memory:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> unit) ->
                address_space:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> unit) ->
                file_locks:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> unit) ->
                pending_signals:((Procfs.Process.Limits.t,
                                  Procfs.Process.Limits.Rlimit.t)
                                 Fieldslib.Field.t -> unit) ->
                msgqueue_size:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> unit) ->
                nice_priority:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> unit) ->
                realtime_priority:((Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t -> unit) ->
                unit
              val map :
                cpu_time:((Procfs.Process.Limits.t,
                           Procfs.Process.Limits.Rlimit.t)
                          Fieldslib.Field.t -> Procfs.Process.Limits.Rlimit.t) ->
                file_size:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t ->
                           Procfs.Process.Limits.Rlimit.t) ->
                data_size:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t ->
                           Procfs.Process.Limits.Rlimit.t) ->
                stack_size:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t ->
                            Procfs.Process.Limits.Rlimit.t) ->
                core_file_size:((Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t ->
                                Procfs.Process.Limits.Rlimit.t) ->
                resident_set:((Procfs.Process.Limits.t,
                               Procfs.Process.Limits.Rlimit.t)
                              Fieldslib.Field.t ->
                              Procfs.Process.Limits.Rlimit.t) ->
                processes:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t ->
                           Procfs.Process.Limits.Rlimit.t) ->
                open_files:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t ->
                            Procfs.Process.Limits.Rlimit.t) ->
                locked_memory:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               Procfs.Process.Limits.Rlimit.t) ->
                address_space:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               Procfs.Process.Limits.Rlimit.t) ->
                file_locks:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t ->
                            Procfs.Process.Limits.Rlimit.t) ->
                pending_signals:((Procfs.Process.Limits.t,
                                  Procfs.Process.Limits.Rlimit.t)
                                 Fieldslib.Field.t ->
                                 Procfs.Process.Limits.Rlimit.t) ->
                msgqueue_size:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               Procfs.Process.Limits.Rlimit.t) ->
                nice_priority:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               Procfs.Process.Limits.Rlimit.t) ->
                realtime_priority:((Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t ->
                                   Procfs.Process.Limits.Rlimit.t) ->
                Procfs.Process.Limits.t
              val map_poly :
                (Procfs.Process.Limits.t, 'x0) Fieldslib.Field.user ->
                'x0 list
              val for_all :
                cpu_time:((Procfs.Process.Limits.t,
                           Procfs.Process.Limits.Rlimit.t)
                          Fieldslib.Field.t -> bool) ->
                file_size:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> bool) ->
                data_size:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> bool) ->
                stack_size:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> bool) ->
                core_file_size:((Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t -> bool) ->
                resident_set:((Procfs.Process.Limits.t,
                               Procfs.Process.Limits.Rlimit.t)
                              Fieldslib.Field.t -> bool) ->
                processes:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> bool) ->
                open_files:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> bool) ->
                locked_memory:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> bool) ->
                address_space:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> bool) ->
                file_locks:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> bool) ->
                pending_signals:((Procfs.Process.Limits.t,
                                  Procfs.Process.Limits.Rlimit.t)
                                 Fieldslib.Field.t -> bool) ->
                msgqueue_size:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> bool) ->
                nice_priority:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> bool) ->
                realtime_priority:((Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t -> bool) ->
                bool
              val exists :
                cpu_time:((Procfs.Process.Limits.t,
                           Procfs.Process.Limits.Rlimit.t)
                          Fieldslib.Field.t -> bool) ->
                file_size:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> bool) ->
                data_size:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> bool) ->
                stack_size:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> bool) ->
                core_file_size:((Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t -> bool) ->
                resident_set:((Procfs.Process.Limits.t,
                               Procfs.Process.Limits.Rlimit.t)
                              Fieldslib.Field.t -> bool) ->
                processes:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> bool) ->
                open_files:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> bool) ->
                locked_memory:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> bool) ->
                address_space:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> bool) ->
                file_locks:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> bool) ->
                pending_signals:((Procfs.Process.Limits.t,
                                  Procfs.Process.Limits.Rlimit.t)
                                 Fieldslib.Field.t -> bool) ->
                msgqueue_size:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> bool) ->
                nice_priority:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> bool) ->
                realtime_priority:((Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t -> bool) ->
                bool
              val to_list :
                cpu_time:((Procfs.Process.Limits.t,
                           Procfs.Process.Limits.Rlimit.t)
                          Fieldslib.Field.t -> 'elem__) ->
                file_size:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> 'elem__) ->
                data_size:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> 'elem__) ->
                stack_size:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> 'elem__) ->
                core_file_size:((Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t -> 'elem__) ->
                resident_set:((Procfs.Process.Limits.t,
                               Procfs.Process.Limits.Rlimit.t)
                              Fieldslib.Field.t -> 'elem__) ->
                processes:((Procfs.Process.Limits.t,
                            Procfs.Process.Limits.Rlimit.t)
                           Fieldslib.Field.t -> 'elem__) ->
                open_files:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> 'elem__) ->
                locked_memory:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> 'elem__) ->
                address_space:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> 'elem__) ->
                file_locks:((Procfs.Process.Limits.t,
                             Procfs.Process.Limits.Rlimit.t)
                            Fieldslib.Field.t -> 'elem__) ->
                pending_signals:((Procfs.Process.Limits.t,
                                  Procfs.Process.Limits.Rlimit.t)
                                 Fieldslib.Field.t -> 'elem__) ->
                msgqueue_size:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> 'elem__) ->
                nice_priority:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t -> 'elem__) ->
                realtime_priority:((Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t -> 'elem__) ->
                'elem__ list
              module Direct :
                sig
                  val iter :
                    Procfs.Process.Limits.t ->
                    cpu_time:((Procfs.Process.Limits.t,
                               Procfs.Process.Limits.Rlimit.t)
                              Fieldslib.Field.t ->
                              Procfs.Process.Limits.t ->
                              Procfs.Process.Limits.Rlimit.t -> unit) ->
                    file_size:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               Procfs.Process.Limits.t ->
                               Procfs.Process.Limits.Rlimit.t -> unit) ->
                    data_size:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               Procfs.Process.Limits.t ->
                               Procfs.Process.Limits.Rlimit.t -> unit) ->
                    stack_size:((Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t ->
                                Procfs.Process.Limits.t ->
                                Procfs.Process.Limits.Rlimit.t -> unit) ->
                    core_file_size:((Procfs.Process.Limits.t,
                                     Procfs.Process.Limits.Rlimit.t)
                                    Fieldslib.Field.t ->
                                    Procfs.Process.Limits.t ->
                                    Procfs.Process.Limits.Rlimit.t -> unit) ->
                    resident_set:((Procfs.Process.Limits.t,
                                   Procfs.Process.Limits.Rlimit.t)
                                  Fieldslib.Field.t ->
                                  Procfs.Process.Limits.t ->
                                  Procfs.Process.Limits.Rlimit.t -> unit) ->
                    processes:((Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               Procfs.Process.Limits.t ->
                               Procfs.Process.Limits.Rlimit.t -> unit) ->
                    open_files:((Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t ->
                                Procfs.Process.Limits.t ->
                                Procfs.Process.Limits.Rlimit.t -> unit) ->
                    locked_memory:((Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t ->
                                   Procfs.Process.Limits.t ->
                                   Procfs.Process.Limits.Rlimit.t -> unit) ->
                    address_space:((Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t ->
                                   Procfs.Process.Limits.t ->
                                   Procfs.Process.Limits.Rlimit.t -> unit) ->
                    file_locks:((Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t ->
                                Procfs.Process.Limits.t ->
                                Procfs.Process.Limits.Rlimit.t -> unit) ->
                    pending_signals:((Procfs.Process.Limits.t,
                                      Procfs.Process.Limits.Rlimit.t)
                                     Fieldslib.Field.t ->
                                     Procfs.Process.Limits.t ->
                                     Procfs.Process.Limits.Rlimit.t -> unit) ->
                    msgqueue_size:((Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t ->
                                   Procfs.Process.Limits.t ->
                                   Procfs.Process.Limits.Rlimit.t -> unit) ->
                    nice_priority:((Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t ->
                                   Procfs.Process.Limits.t ->
                                   Procfs.Process.Limits.Rlimit.t -> unit) ->
                    realtime_priority:((Procfs.Process.Limits.t,
                                        Procfs.Process.Limits.Rlimit.t)
                                       Fieldslib.Field.t ->
                                       Procfs.Process.Limits.t ->
                                       Procfs.Process.Limits.Rlimit.t -> unit) ->
                    unit
                  val fold :
                    Procfs.Process.Limits.t ->
                    init:'acc__ ->
                    cpu_time:('acc__ ->
                              (Procfs.Process.Limits.t,
                               Procfs.Process.Limits.Rlimit.t)
                              Fieldslib.Field.t ->
                              Procfs.Process.Limits.t ->
                              Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    file_size:('acc__ ->
                               (Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               Procfs.Process.Limits.t ->
                               Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    data_size:('acc__ ->
                               (Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               Procfs.Process.Limits.t ->
                               Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    stack_size:('acc__ ->
                                (Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t ->
                                Procfs.Process.Limits.t ->
                                Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    core_file_size:('acc__ ->
                                    (Procfs.Process.Limits.t,
                                     Procfs.Process.Limits.Rlimit.t)
                                    Fieldslib.Field.t ->
                                    Procfs.Process.Limits.t ->
                                    Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    resident_set:('acc__ ->
                                  (Procfs.Process.Limits.t,
                                   Procfs.Process.Limits.Rlimit.t)
                                  Fieldslib.Field.t ->
                                  Procfs.Process.Limits.t ->
                                  Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    processes:('acc__ ->
                               (Procfs.Process.Limits.t,
                                Procfs.Process.Limits.Rlimit.t)
                               Fieldslib.Field.t ->
                               Procfs.Process.Limits.t ->
                               Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    open_files:('acc__ ->
                                (Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t ->
                                Procfs.Process.Limits.t ->
                                Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    locked_memory:('acc__ ->
                                   (Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t ->
                                   Procfs.Process.Limits.t ->
                                   Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    address_space:('acc__ ->
                                   (Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t ->
                                   Procfs.Process.Limits.t ->
                                   Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    file_locks:('acc__ ->
                                (Procfs.Process.Limits.t,
                                 Procfs.Process.Limits.Rlimit.t)
                                Fieldslib.Field.t ->
                                Procfs.Process.Limits.t ->
                                Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    pending_signals:('acc__ ->
                                     (Procfs.Process.Limits.t,
                                      Procfs.Process.Limits.Rlimit.t)
                                     Fieldslib.Field.t ->
                                     Procfs.Process.Limits.t ->
                                     Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    msgqueue_size:('acc__ ->
                                   (Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t ->
                                   Procfs.Process.Limits.t ->
                                   Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    nice_priority:('acc__ ->
                                   (Procfs.Process.Limits.t,
                                    Procfs.Process.Limits.Rlimit.t)
                                   Fieldslib.Field.t ->
                                   Procfs.Process.Limits.t ->
                                   Procfs.Process.Limits.Rlimit.t -> 'acc__) ->
                    realtime_priority:('acc__ ->
                                       (Procfs.Process.Limits.t,
                                        Procfs.Process.Limits.Rlimit.t)
                                       Fieldslib.Field.t ->
                                       Procfs.Process.Limits.t ->
                                       Procfs.Process.Limits.Rlimit.t ->
                                       'acc__) ->
                    'acc__
                end
            end
          val t_of_sexp : Sexplib.Sexp.t -> Procfs.Process.Limits.t
          val sexp_of_t : Procfs.Process.Limits.t -> Sexplib.Sexp.t
        end
      module Stat :
        sig
          type t = {
            comm : string;
            state : char;
            ppid : Core.Std.Pid.t option;
            pgrp : Core.Std.Pid.t;
            session : int;
            tty_nr : int;
            tpgid : int;
            flags : Procfs.bigint;
            minflt : Procfs.bigint;
            cminflt : Procfs.bigint;
            majflt : Procfs.bigint;
            cmajflt : Procfs.bigint;
            utime : Procfs.bigint;
            stime : Procfs.bigint;
            cutime : Procfs.bigint;
            cstime : Procfs.bigint;
            priority : Procfs.bigint;
            nice : Procfs.bigint;
            unused : Procfs.bigint;
            itrealvalue : Procfs.bigint;
            starttime : Procfs.bigint;
            vsize : Procfs.bigint;
            rss : Procfs.bigint;
            rlim : Procfs.bigint;
            startcode : Procfs.bigint;
            endcode : Procfs.bigint;
            startstack : Procfs.bigint;
            kstkesp : Procfs.bigint;
            kstkeip : Procfs.bigint;
            signal : Procfs.bigint;
            blocked : Procfs.bigint;
            sigignore : Procfs.bigint;
            sigcatch : Procfs.bigint;
            wchan : Procfs.bigint;
            nswap : Procfs.bigint;
            cnswap : Procfs.bigint;
            exit_signal : int;
            processor : int;
            rt_priority : Procfs.bigint;
            policy : Procfs.bigint;
          }
          val policy : Procfs.Process.Stat.t -> Procfs.bigint
          val rt_priority : Procfs.Process.Stat.t -> Procfs.bigint
          val processor : Procfs.Process.Stat.t -> int
          val exit_signal : Procfs.Process.Stat.t -> int
          val cnswap : Procfs.Process.Stat.t -> Procfs.bigint
          val nswap : Procfs.Process.Stat.t -> Procfs.bigint
          val wchan : Procfs.Process.Stat.t -> Procfs.bigint
          val sigcatch : Procfs.Process.Stat.t -> Procfs.bigint
          val sigignore : Procfs.Process.Stat.t -> Procfs.bigint
          val blocked : Procfs.Process.Stat.t -> Procfs.bigint
          val signal : Procfs.Process.Stat.t -> Procfs.bigint
          val kstkeip : Procfs.Process.Stat.t -> Procfs.bigint
          val kstkesp : Procfs.Process.Stat.t -> Procfs.bigint
          val startstack : Procfs.Process.Stat.t -> Procfs.bigint
          val endcode : Procfs.Process.Stat.t -> Procfs.bigint
          val startcode : Procfs.Process.Stat.t -> Procfs.bigint
          val rlim : Procfs.Process.Stat.t -> Procfs.bigint
          val rss : Procfs.Process.Stat.t -> Procfs.bigint
          val vsize : Procfs.Process.Stat.t -> Procfs.bigint
          val starttime : Procfs.Process.Stat.t -> Procfs.bigint
          val itrealvalue : Procfs.Process.Stat.t -> Procfs.bigint
          val unused : Procfs.Process.Stat.t -> Procfs.bigint
          val nice : Procfs.Process.Stat.t -> Procfs.bigint
          val priority : Procfs.Process.Stat.t -> Procfs.bigint
          val cstime : Procfs.Process.Stat.t -> Procfs.bigint
          val cutime : Procfs.Process.Stat.t -> Procfs.bigint
          val stime : Procfs.Process.Stat.t -> Procfs.bigint
          val utime : Procfs.Process.Stat.t -> Procfs.bigint
          val cmajflt : Procfs.Process.Stat.t -> Procfs.bigint
          val majflt : Procfs.Process.Stat.t -> Procfs.bigint
          val cminflt : Procfs.Process.Stat.t -> Procfs.bigint
          val minflt : Procfs.Process.Stat.t -> Procfs.bigint
          val flags : Procfs.Process.Stat.t -> Procfs.bigint
          val tpgid : Procfs.Process.Stat.t -> int
          val tty_nr : Procfs.Process.Stat.t -> int
          val session : Procfs.Process.Stat.t -> int
          val pgrp : Procfs.Process.Stat.t -> Core.Std.Pid.t
          val ppid : Procfs.Process.Stat.t -> Core.Std.Pid.t option
          val state : Procfs.Process.Stat.t -> char
          val comm : Procfs.Process.Stat.t -> string
          module Fields :
            sig
              val names : string list
              val policy :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val rt_priority :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val processor : (Procfs.Process.Stat.t, int) Fieldslib.Field.t
              val exit_signal :
                (Procfs.Process.Stat.t, int) Fieldslib.Field.t
              val cnswap :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val nswap :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val wchan :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val sigcatch :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val sigignore :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val blocked :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val signal :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val kstkeip :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val kstkesp :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val startstack :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val endcode :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val startcode :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val rlim :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val rss :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val vsize :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val starttime :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val itrealvalue :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val unused :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val nice :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val priority :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val cstime :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val cutime :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val stime :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val utime :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val cmajflt :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val majflt :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val cminflt :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val minflt :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val flags :
                (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t
              val tpgid : (Procfs.Process.Stat.t, int) Fieldslib.Field.t
              val tty_nr : (Procfs.Process.Stat.t, int) Fieldslib.Field.t
              val session : (Procfs.Process.Stat.t, int) Fieldslib.Field.t
              val pgrp :
                (Procfs.Process.Stat.t, Core.Std.Pid.t) Fieldslib.Field.t
              val ppid :
                (Procfs.Process.Stat.t, Core.Std.Pid.t option)
                Fieldslib.Field.t
              val state : (Procfs.Process.Stat.t, char) Fieldslib.Field.t
              val comm : (Procfs.Process.Stat.t, string) Fieldslib.Field.t
              val fold :
                init:'acc__ ->
                comm:('acc__ ->
                      (Procfs.Process.Stat.t, string) Fieldslib.Field.t ->
                      'acc__) ->
                state:('acc__ ->
                       (Procfs.Process.Stat.t, char) Fieldslib.Field.t ->
                       'acc__) ->
                ppid:('acc__ ->
                      (Procfs.Process.Stat.t, Core.Std.Pid.t option)
                      Fieldslib.Field.t -> 'acc__) ->
                pgrp:('acc__ ->
                      (Procfs.Process.Stat.t, Core.Std.Pid.t)
                      Fieldslib.Field.t -> 'acc__) ->
                session:('acc__ ->
                         (Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                         'acc__) ->
                tty_nr:('acc__ ->
                        (Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                        'acc__) ->
                tpgid:('acc__ ->
                       (Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                       'acc__) ->
                flags:('acc__ ->
                       (Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'acc__) ->
                minflt:('acc__ ->
                        (Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'acc__) ->
                cminflt:('acc__ ->
                         (Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> 'acc__) ->
                majflt:('acc__ ->
                        (Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'acc__) ->
                cmajflt:('acc__ ->
                         (Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> 'acc__) ->
                utime:('acc__ ->
                       (Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'acc__) ->
                stime:('acc__ ->
                       (Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'acc__) ->
                cutime:('acc__ ->
                        (Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'acc__) ->
                cstime:('acc__ ->
                        (Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'acc__) ->
                priority:('acc__ ->
                          (Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t -> 'acc__) ->
                nice:('acc__ ->
                      (Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t -> 'acc__) ->
                unused:('acc__ ->
                        (Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'acc__) ->
                itrealvalue:('acc__ ->
                             (Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t -> 'acc__) ->
                starttime:('acc__ ->
                           (Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> 'acc__) ->
                vsize:('acc__ ->
                       (Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'acc__) ->
                rss:('acc__ ->
                     (Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t ->
                     'acc__) ->
                rlim:('acc__ ->
                      (Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t -> 'acc__) ->
                startcode:('acc__ ->
                           (Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> 'acc__) ->
                endcode:('acc__ ->
                         (Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> 'acc__) ->
                startstack:('acc__ ->
                            (Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t -> 'acc__) ->
                kstkesp:('acc__ ->
                         (Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> 'acc__) ->
                kstkeip:('acc__ ->
                         (Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> 'acc__) ->
                signal:('acc__ ->
                        (Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'acc__) ->
                blocked:('acc__ ->
                         (Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> 'acc__) ->
                sigignore:('acc__ ->
                           (Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> 'acc__) ->
                sigcatch:('acc__ ->
                          (Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t -> 'acc__) ->
                wchan:('acc__ ->
                       (Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'acc__) ->
                nswap:('acc__ ->
                       (Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'acc__) ->
                cnswap:('acc__ ->
                        (Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'acc__) ->
                exit_signal:('acc__ ->
                             (Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                             'acc__) ->
                processor:('acc__ ->
                           (Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                           'acc__) ->
                rt_priority:('acc__ ->
                             (Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t -> 'acc__) ->
                policy:('acc__ ->
                        (Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'acc__) ->
                'acc__
              val make_creator :
                comm:((Procfs.Process.Stat.t, string) Fieldslib.Field.t ->
                      'compile_acc__ -> ('input__ -> string) * 'compile_acc__) ->
                state:((Procfs.Process.Stat.t, char) Fieldslib.Field.t ->
                       'compile_acc__ -> ('input__ -> char) * 'compile_acc__) ->
                ppid:((Procfs.Process.Stat.t, Core.Std.Pid.t option)
                      Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Core.Std.Pid.t option) * 'compile_acc__) ->
                pgrp:((Procfs.Process.Stat.t, Core.Std.Pid.t)
                      Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Core.Std.Pid.t) * 'compile_acc__) ->
                session:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                tty_nr:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                        'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                tpgid:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                       'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                flags:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                minflt:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t ->
                        'compile_acc__ ->
                        ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                cminflt:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t ->
                         'compile_acc__ ->
                         ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                majflt:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t ->
                        'compile_acc__ ->
                        ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                cmajflt:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t ->
                         'compile_acc__ ->
                         ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                utime:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                stime:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                cutime:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t ->
                        'compile_acc__ ->
                        ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                cstime:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t ->
                        'compile_acc__ ->
                        ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                priority:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                nice:((Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                unused:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t ->
                        'compile_acc__ ->
                        ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                itrealvalue:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             'compile_acc__ ->
                             ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                starttime:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           'compile_acc__ ->
                           ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                vsize:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                rss:((Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t ->
                     'compile_acc__ ->
                     ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                rlim:((Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                startcode:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           'compile_acc__ ->
                           ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                endcode:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t ->
                         'compile_acc__ ->
                         ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                startstack:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            'compile_acc__ ->
                            ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                kstkesp:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t ->
                         'compile_acc__ ->
                         ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                kstkeip:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t ->
                         'compile_acc__ ->
                         ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                signal:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t ->
                        'compile_acc__ ->
                        ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                blocked:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t ->
                         'compile_acc__ ->
                         ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                sigignore:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           'compile_acc__ ->
                           ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                sigcatch:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                wchan:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                nswap:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                cnswap:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t ->
                        'compile_acc__ ->
                        ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                exit_signal:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                             'compile_acc__ ->
                             ('input__ -> int) * 'compile_acc__) ->
                processor:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                           'compile_acc__ ->
                           ('input__ -> int) * 'compile_acc__) ->
                rt_priority:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             'compile_acc__ ->
                             ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                policy:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t ->
                        'compile_acc__ ->
                        ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                'compile_acc__ ->
                ('input__ -> Procfs.Process.Stat.t) * 'compile_acc__
              val create :
                comm:string ->
                state:char ->
                ppid:Core.Std.Pid.t option ->
                pgrp:Core.Std.Pid.t ->
                session:int ->
                tty_nr:int ->
                tpgid:int ->
                flags:Procfs.bigint ->
                minflt:Procfs.bigint ->
                cminflt:Procfs.bigint ->
                majflt:Procfs.bigint ->
                cmajflt:Procfs.bigint ->
                utime:Procfs.bigint ->
                stime:Procfs.bigint ->
                cutime:Procfs.bigint ->
                cstime:Procfs.bigint ->
                priority:Procfs.bigint ->
                nice:Procfs.bigint ->
                unused:Procfs.bigint ->
                itrealvalue:Procfs.bigint ->
                starttime:Procfs.bigint ->
                vsize:Procfs.bigint ->
                rss:Procfs.bigint ->
                rlim:Procfs.bigint ->
                startcode:Procfs.bigint ->
                endcode:Procfs.bigint ->
                startstack:Procfs.bigint ->
                kstkesp:Procfs.bigint ->
                kstkeip:Procfs.bigint ->
                signal:Procfs.bigint ->
                blocked:Procfs.bigint ->
                sigignore:Procfs.bigint ->
                sigcatch:Procfs.bigint ->
                wchan:Procfs.bigint ->
                nswap:Procfs.bigint ->
                cnswap:Procfs.bigint ->
                exit_signal:int ->
                processor:int ->
                rt_priority:Procfs.bigint ->
                policy:Procfs.bigint -> Procfs.Process.Stat.t
              val iter :
                comm:((Procfs.Process.Stat.t, string) Fieldslib.Field.t ->
                      unit) ->
                state:((Procfs.Process.Stat.t, char) Fieldslib.Field.t ->
                       unit) ->
                ppid:((Procfs.Process.Stat.t, Core.Std.Pid.t option)
                      Fieldslib.Field.t -> unit) ->
                pgrp:((Procfs.Process.Stat.t, Core.Std.Pid.t)
                      Fieldslib.Field.t -> unit) ->
                session:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                         unit) ->
                tty_nr:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                        unit) ->
                tpgid:((Procfs.Process.Stat.t, int) Fieldslib.Field.t -> unit) ->
                flags:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> unit) ->
                minflt:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> unit) ->
                cminflt:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> unit) ->
                majflt:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> unit) ->
                cmajflt:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> unit) ->
                utime:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> unit) ->
                stime:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> unit) ->
                cutime:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> unit) ->
                cstime:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> unit) ->
                priority:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t -> unit) ->
                nice:((Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t -> unit) ->
                unused:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> unit) ->
                itrealvalue:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t -> unit) ->
                starttime:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> unit) ->
                vsize:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> unit) ->
                rss:((Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t ->
                     unit) ->
                rlim:((Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t -> unit) ->
                startcode:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> unit) ->
                endcode:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> unit) ->
                startstack:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t -> unit) ->
                kstkesp:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> unit) ->
                kstkeip:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> unit) ->
                signal:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> unit) ->
                blocked:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> unit) ->
                sigignore:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> unit) ->
                sigcatch:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t -> unit) ->
                wchan:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> unit) ->
                nswap:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> unit) ->
                cnswap:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> unit) ->
                exit_signal:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                             unit) ->
                processor:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                           unit) ->
                rt_priority:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t -> unit) ->
                policy:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> unit) ->
                unit
              val map :
                comm:((Procfs.Process.Stat.t, string) Fieldslib.Field.t ->
                      string) ->
                state:((Procfs.Process.Stat.t, char) Fieldslib.Field.t ->
                       char) ->
                ppid:((Procfs.Process.Stat.t, Core.Std.Pid.t option)
                      Fieldslib.Field.t -> Core.Std.Pid.t option) ->
                pgrp:((Procfs.Process.Stat.t, Core.Std.Pid.t)
                      Fieldslib.Field.t -> Core.Std.Pid.t) ->
                session:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                         int) ->
                tty_nr:((Procfs.Process.Stat.t, int) Fieldslib.Field.t -> int) ->
                tpgid:((Procfs.Process.Stat.t, int) Fieldslib.Field.t -> int) ->
                flags:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> Procfs.bigint) ->
                minflt:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> Procfs.bigint) ->
                cminflt:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> Procfs.bigint) ->
                majflt:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> Procfs.bigint) ->
                cmajflt:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> Procfs.bigint) ->
                utime:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> Procfs.bigint) ->
                stime:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> Procfs.bigint) ->
                cutime:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> Procfs.bigint) ->
                cstime:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> Procfs.bigint) ->
                priority:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t -> Procfs.bigint) ->
                nice:((Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t -> Procfs.bigint) ->
                unused:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> Procfs.bigint) ->
                itrealvalue:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t -> Procfs.bigint) ->
                starttime:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> Procfs.bigint) ->
                vsize:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> Procfs.bigint) ->
                rss:((Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t ->
                     Procfs.bigint) ->
                rlim:((Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t -> Procfs.bigint) ->
                startcode:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> Procfs.bigint) ->
                endcode:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> Procfs.bigint) ->
                startstack:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t -> Procfs.bigint) ->
                kstkesp:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> Procfs.bigint) ->
                kstkeip:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> Procfs.bigint) ->
                signal:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> Procfs.bigint) ->
                blocked:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> Procfs.bigint) ->
                sigignore:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> Procfs.bigint) ->
                sigcatch:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t -> Procfs.bigint) ->
                wchan:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> Procfs.bigint) ->
                nswap:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> Procfs.bigint) ->
                cnswap:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> Procfs.bigint) ->
                exit_signal:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                             int) ->
                processor:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                           int) ->
                rt_priority:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t -> Procfs.bigint) ->
                policy:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> Procfs.bigint) ->
                Procfs.Process.Stat.t
              val map_poly :
                (Procfs.Process.Stat.t, 'x0) Fieldslib.Field.user -> 'x0 list
              val for_all :
                comm:((Procfs.Process.Stat.t, string) Fieldslib.Field.t ->
                      bool) ->
                state:((Procfs.Process.Stat.t, char) Fieldslib.Field.t ->
                       bool) ->
                ppid:((Procfs.Process.Stat.t, Core.Std.Pid.t option)
                      Fieldslib.Field.t -> bool) ->
                pgrp:((Procfs.Process.Stat.t, Core.Std.Pid.t)
                      Fieldslib.Field.t -> bool) ->
                session:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                         bool) ->
                tty_nr:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                        bool) ->
                tpgid:((Procfs.Process.Stat.t, int) Fieldslib.Field.t -> bool) ->
                flags:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                minflt:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                cminflt:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> bool) ->
                majflt:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                cmajflt:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> bool) ->
                utime:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                stime:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                cutime:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                cstime:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                priority:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t -> bool) ->
                nice:((Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t -> bool) ->
                unused:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                itrealvalue:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t -> bool) ->
                starttime:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> bool) ->
                vsize:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                rss:((Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t ->
                     bool) ->
                rlim:((Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t -> bool) ->
                startcode:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> bool) ->
                endcode:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> bool) ->
                startstack:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t -> bool) ->
                kstkesp:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> bool) ->
                kstkeip:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> bool) ->
                signal:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                blocked:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> bool) ->
                sigignore:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> bool) ->
                sigcatch:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t -> bool) ->
                wchan:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                nswap:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                cnswap:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                exit_signal:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                             bool) ->
                processor:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                           bool) ->
                rt_priority:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t -> bool) ->
                policy:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                bool
              val exists :
                comm:((Procfs.Process.Stat.t, string) Fieldslib.Field.t ->
                      bool) ->
                state:((Procfs.Process.Stat.t, char) Fieldslib.Field.t ->
                       bool) ->
                ppid:((Procfs.Process.Stat.t, Core.Std.Pid.t option)
                      Fieldslib.Field.t -> bool) ->
                pgrp:((Procfs.Process.Stat.t, Core.Std.Pid.t)
                      Fieldslib.Field.t -> bool) ->
                session:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                         bool) ->
                tty_nr:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                        bool) ->
                tpgid:((Procfs.Process.Stat.t, int) Fieldslib.Field.t -> bool) ->
                flags:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                minflt:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                cminflt:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> bool) ->
                majflt:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                cmajflt:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> bool) ->
                utime:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                stime:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                cutime:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                cstime:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                priority:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t -> bool) ->
                nice:((Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t -> bool) ->
                unused:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                itrealvalue:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t -> bool) ->
                starttime:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> bool) ->
                vsize:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                rss:((Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t ->
                     bool) ->
                rlim:((Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t -> bool) ->
                startcode:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> bool) ->
                endcode:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> bool) ->
                startstack:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t -> bool) ->
                kstkesp:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> bool) ->
                kstkeip:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> bool) ->
                signal:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                blocked:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> bool) ->
                sigignore:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> bool) ->
                sigcatch:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t -> bool) ->
                wchan:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                nswap:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                cnswap:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                exit_signal:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                             bool) ->
                processor:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                           bool) ->
                rt_priority:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t -> bool) ->
                policy:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> bool) ->
                bool
              val to_list :
                comm:((Procfs.Process.Stat.t, string) Fieldslib.Field.t ->
                      'elem__) ->
                state:((Procfs.Process.Stat.t, char) Fieldslib.Field.t ->
                       'elem__) ->
                ppid:((Procfs.Process.Stat.t, Core.Std.Pid.t option)
                      Fieldslib.Field.t -> 'elem__) ->
                pgrp:((Procfs.Process.Stat.t, Core.Std.Pid.t)
                      Fieldslib.Field.t -> 'elem__) ->
                session:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                         'elem__) ->
                tty_nr:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                        'elem__) ->
                tpgid:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                       'elem__) ->
                flags:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'elem__) ->
                minflt:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'elem__) ->
                cminflt:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> 'elem__) ->
                majflt:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'elem__) ->
                cmajflt:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> 'elem__) ->
                utime:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'elem__) ->
                stime:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'elem__) ->
                cutime:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'elem__) ->
                cstime:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'elem__) ->
                priority:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t -> 'elem__) ->
                nice:((Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t -> 'elem__) ->
                unused:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'elem__) ->
                itrealvalue:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t -> 'elem__) ->
                starttime:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> 'elem__) ->
                vsize:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'elem__) ->
                rss:((Procfs.Process.Stat.t, Procfs.bigint) Fieldslib.Field.t ->
                     'elem__) ->
                rlim:((Procfs.Process.Stat.t, Procfs.bigint)
                      Fieldslib.Field.t -> 'elem__) ->
                startcode:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> 'elem__) ->
                endcode:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> 'elem__) ->
                startstack:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t -> 'elem__) ->
                kstkesp:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> 'elem__) ->
                kstkeip:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> 'elem__) ->
                signal:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'elem__) ->
                blocked:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t -> 'elem__) ->
                sigignore:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t -> 'elem__) ->
                sigcatch:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t -> 'elem__) ->
                wchan:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'elem__) ->
                nswap:((Procfs.Process.Stat.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'elem__) ->
                cnswap:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'elem__) ->
                exit_signal:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                             'elem__) ->
                processor:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                           'elem__) ->
                rt_priority:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t -> 'elem__) ->
                policy:((Procfs.Process.Stat.t, Procfs.bigint)
                        Fieldslib.Field.t -> 'elem__) ->
                'elem__ list
              module Direct :
                sig
                  val iter :
                    Procfs.Process.Stat.t ->
                    comm:((Procfs.Process.Stat.t, string) Fieldslib.Field.t ->
                          Procfs.Process.Stat.t -> string -> unit) ->
                    state:((Procfs.Process.Stat.t, char) Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> char -> unit) ->
                    ppid:((Procfs.Process.Stat.t, Core.Std.Pid.t option)
                          Fieldslib.Field.t ->
                          Procfs.Process.Stat.t ->
                          Core.Std.Pid.t option -> unit) ->
                    pgrp:((Procfs.Process.Stat.t, Core.Std.Pid.t)
                          Fieldslib.Field.t ->
                          Procfs.Process.Stat.t -> Core.Std.Pid.t -> unit) ->
                    session:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> int -> unit) ->
                    tty_nr:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> int -> unit) ->
                    tpgid:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> int -> unit) ->
                    flags:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    minflt:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    cminflt:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    majflt:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    cmajflt:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    utime:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    stime:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    cutime:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    cstime:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    priority:((Procfs.Process.Stat.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    nice:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    unused:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    itrealvalue:((Procfs.Process.Stat.t, Procfs.bigint)
                                 Fieldslib.Field.t ->
                                 Procfs.Process.Stat.t ->
                                 Procfs.bigint -> unit) ->
                    starttime:((Procfs.Process.Stat.t, Procfs.bigint)
                               Fieldslib.Field.t ->
                               Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    vsize:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    rss:((Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t ->
                         Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    rlim:((Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    startcode:((Procfs.Process.Stat.t, Procfs.bigint)
                               Fieldslib.Field.t ->
                               Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    endcode:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    startstack:((Procfs.Process.Stat.t, Procfs.bigint)
                                Fieldslib.Field.t ->
                                Procfs.Process.Stat.t ->
                                Procfs.bigint -> unit) ->
                    kstkesp:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    kstkeip:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    signal:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    blocked:((Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    sigignore:((Procfs.Process.Stat.t, Procfs.bigint)
                               Fieldslib.Field.t ->
                               Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    sigcatch:((Procfs.Process.Stat.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    wchan:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    nswap:((Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    cnswap:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    exit_signal:((Procfs.Process.Stat.t, int)
                                 Fieldslib.Field.t ->
                                 Procfs.Process.Stat.t -> int -> unit) ->
                    processor:((Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                               Procfs.Process.Stat.t -> int -> unit) ->
                    rt_priority:((Procfs.Process.Stat.t, Procfs.bigint)
                                 Fieldslib.Field.t ->
                                 Procfs.Process.Stat.t ->
                                 Procfs.bigint -> unit) ->
                    policy:((Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> unit) ->
                    unit
                  val fold :
                    Procfs.Process.Stat.t ->
                    init:'acc__ ->
                    comm:('acc__ ->
                          (Procfs.Process.Stat.t, string) Fieldslib.Field.t ->
                          Procfs.Process.Stat.t -> string -> 'acc__) ->
                    state:('acc__ ->
                           (Procfs.Process.Stat.t, char) Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> char -> 'acc__) ->
                    ppid:('acc__ ->
                          (Procfs.Process.Stat.t, Core.Std.Pid.t option)
                          Fieldslib.Field.t ->
                          Procfs.Process.Stat.t ->
                          Core.Std.Pid.t option -> 'acc__) ->
                    pgrp:('acc__ ->
                          (Procfs.Process.Stat.t, Core.Std.Pid.t)
                          Fieldslib.Field.t ->
                          Procfs.Process.Stat.t -> Core.Std.Pid.t -> 'acc__) ->
                    session:('acc__ ->
                             (Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> int -> 'acc__) ->
                    tty_nr:('acc__ ->
                            (Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> int -> 'acc__) ->
                    tpgid:('acc__ ->
                           (Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> int -> 'acc__) ->
                    flags:('acc__ ->
                           (Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    minflt:('acc__ ->
                            (Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    cminflt:('acc__ ->
                             (Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    majflt:('acc__ ->
                            (Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    cmajflt:('acc__ ->
                             (Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    utime:('acc__ ->
                           (Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    stime:('acc__ ->
                           (Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    cutime:('acc__ ->
                            (Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    cstime:('acc__ ->
                            (Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    priority:('acc__ ->
                              (Procfs.Process.Stat.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Process.Stat.t ->
                              Procfs.bigint -> 'acc__) ->
                    nice:('acc__ ->
                          (Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    unused:('acc__ ->
                            (Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    itrealvalue:('acc__ ->
                                 (Procfs.Process.Stat.t, Procfs.bigint)
                                 Fieldslib.Field.t ->
                                 Procfs.Process.Stat.t ->
                                 Procfs.bigint -> 'acc__) ->
                    starttime:('acc__ ->
                               (Procfs.Process.Stat.t, Procfs.bigint)
                               Fieldslib.Field.t ->
                               Procfs.Process.Stat.t ->
                               Procfs.bigint -> 'acc__) ->
                    vsize:('acc__ ->
                           (Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    rss:('acc__ ->
                         (Procfs.Process.Stat.t, Procfs.bigint)
                         Fieldslib.Field.t ->
                         Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    rlim:('acc__ ->
                          (Procfs.Process.Stat.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    startcode:('acc__ ->
                               (Procfs.Process.Stat.t, Procfs.bigint)
                               Fieldslib.Field.t ->
                               Procfs.Process.Stat.t ->
                               Procfs.bigint -> 'acc__) ->
                    endcode:('acc__ ->
                             (Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    startstack:('acc__ ->
                                (Procfs.Process.Stat.t, Procfs.bigint)
                                Fieldslib.Field.t ->
                                Procfs.Process.Stat.t ->
                                Procfs.bigint -> 'acc__) ->
                    kstkesp:('acc__ ->
                             (Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    kstkeip:('acc__ ->
                             (Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    signal:('acc__ ->
                            (Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    blocked:('acc__ ->
                             (Procfs.Process.Stat.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    sigignore:('acc__ ->
                               (Procfs.Process.Stat.t, Procfs.bigint)
                               Fieldslib.Field.t ->
                               Procfs.Process.Stat.t ->
                               Procfs.bigint -> 'acc__) ->
                    sigcatch:('acc__ ->
                              (Procfs.Process.Stat.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Process.Stat.t ->
                              Procfs.bigint -> 'acc__) ->
                    wchan:('acc__ ->
                           (Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    nswap:('acc__ ->
                           (Procfs.Process.Stat.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    cnswap:('acc__ ->
                            (Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    exit_signal:('acc__ ->
                                 (Procfs.Process.Stat.t, int)
                                 Fieldslib.Field.t ->
                                 Procfs.Process.Stat.t -> int -> 'acc__) ->
                    processor:('acc__ ->
                               (Procfs.Process.Stat.t, int) Fieldslib.Field.t ->
                               Procfs.Process.Stat.t -> int -> 'acc__) ->
                    rt_priority:('acc__ ->
                                 (Procfs.Process.Stat.t, Procfs.bigint)
                                 Fieldslib.Field.t ->
                                 Procfs.Process.Stat.t ->
                                 Procfs.bigint -> 'acc__) ->
                    policy:('acc__ ->
                            (Procfs.Process.Stat.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Process.Stat.t -> Procfs.bigint -> 'acc__) ->
                    'acc__
                end
            end
          val t_of_sexp : Sexplib.Sexp.t -> Procfs.Process.Stat.t
          val sexp_of_t : Procfs.Process.Stat.t -> Sexplib.Sexp.t
        end
      module Statm :
        sig
          type t = {
            size : Procfs.bigint;
            resident : Procfs.bigint;
            share : Procfs.bigint;
            text : Procfs.bigint;
            lib : Procfs.bigint;
            data : Procfs.bigint;
            dt : Procfs.bigint;
          }
          val dt : Procfs.Process.Statm.t -> Procfs.bigint
          val data : Procfs.Process.Statm.t -> Procfs.bigint
          val lib : Procfs.Process.Statm.t -> Procfs.bigint
          val text : Procfs.Process.Statm.t -> Procfs.bigint
          val share : Procfs.Process.Statm.t -> Procfs.bigint
          val resident : Procfs.Process.Statm.t -> Procfs.bigint
          val size : Procfs.Process.Statm.t -> Procfs.bigint
          module Fields :
            sig
              val names : string list
              val dt :
                (Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t
              val data :
                (Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t
              val lib :
                (Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t
              val text :
                (Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t
              val share :
                (Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t
              val resident :
                (Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t
              val size :
                (Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t
              val fold :
                init:'acc__ ->
                size:('acc__ ->
                      (Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> 'acc__) ->
                resident:('acc__ ->
                          (Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t -> 'acc__) ->
                share:('acc__ ->
                       (Procfs.Process.Statm.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'acc__) ->
                text:('acc__ ->
                      (Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> 'acc__) ->
                lib:('acc__ ->
                     (Procfs.Process.Statm.t, Procfs.bigint)
                     Fieldslib.Field.t -> 'acc__) ->
                data:('acc__ ->
                      (Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> 'acc__) ->
                dt:('acc__ ->
                    (Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t ->
                    'acc__) ->
                'acc__
              val make_creator :
                size:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                resident:((Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                share:((Procfs.Process.Statm.t, Procfs.bigint)
                       Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                text:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                lib:((Procfs.Process.Statm.t, Procfs.bigint)
                     Fieldslib.Field.t ->
                     'compile_acc__ ->
                     ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                data:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                dt:((Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t ->
                    'compile_acc__ ->
                    ('input__ -> Procfs.bigint) * 'compile_acc__) ->
                'compile_acc__ ->
                ('input__ -> Procfs.Process.Statm.t) * 'compile_acc__
              val create :
                size:Procfs.bigint ->
                resident:Procfs.bigint ->
                share:Procfs.bigint ->
                text:Procfs.bigint ->
                lib:Procfs.bigint ->
                data:Procfs.bigint ->
                dt:Procfs.bigint -> Procfs.Process.Statm.t
              val iter :
                size:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> unit) ->
                resident:((Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t -> unit) ->
                share:((Procfs.Process.Statm.t, Procfs.bigint)
                       Fieldslib.Field.t -> unit) ->
                text:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> unit) ->
                lib:((Procfs.Process.Statm.t, Procfs.bigint)
                     Fieldslib.Field.t -> unit) ->
                data:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> unit) ->
                dt:((Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t ->
                    unit) ->
                unit
              val map :
                size:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> Procfs.bigint) ->
                resident:((Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t -> Procfs.bigint) ->
                share:((Procfs.Process.Statm.t, Procfs.bigint)
                       Fieldslib.Field.t -> Procfs.bigint) ->
                text:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> Procfs.bigint) ->
                lib:((Procfs.Process.Statm.t, Procfs.bigint)
                     Fieldslib.Field.t -> Procfs.bigint) ->
                data:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> Procfs.bigint) ->
                dt:((Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.bigint) ->
                Procfs.Process.Statm.t
              val map_poly :
                (Procfs.Process.Statm.t, 'x0) Fieldslib.Field.user ->
                'x0 list
              val for_all :
                size:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> bool) ->
                resident:((Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t -> bool) ->
                share:((Procfs.Process.Statm.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                text:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> bool) ->
                lib:((Procfs.Process.Statm.t, Procfs.bigint)
                     Fieldslib.Field.t -> bool) ->
                data:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> bool) ->
                dt:((Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
                bool
              val exists :
                size:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> bool) ->
                resident:((Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t -> bool) ->
                share:((Procfs.Process.Statm.t, Procfs.bigint)
                       Fieldslib.Field.t -> bool) ->
                text:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> bool) ->
                lib:((Procfs.Process.Statm.t, Procfs.bigint)
                     Fieldslib.Field.t -> bool) ->
                data:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> bool) ->
                dt:((Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
                bool
              val to_list :
                size:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> 'elem__) ->
                resident:((Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t -> 'elem__) ->
                share:((Procfs.Process.Statm.t, Procfs.bigint)
                       Fieldslib.Field.t -> 'elem__) ->
                text:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> 'elem__) ->
                lib:((Procfs.Process.Statm.t, Procfs.bigint)
                     Fieldslib.Field.t -> 'elem__) ->
                data:((Procfs.Process.Statm.t, Procfs.bigint)
                      Fieldslib.Field.t -> 'elem__) ->
                dt:((Procfs.Process.Statm.t, Procfs.bigint) Fieldslib.Field.t ->
                    'elem__) ->
                'elem__ list
              module Direct :
                sig
                  val iter :
                    Procfs.Process.Statm.t ->
                    size:((Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          Procfs.Process.Statm.t -> Procfs.bigint -> unit) ->
                    resident:((Procfs.Process.Statm.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Process.Statm.t -> Procfs.bigint -> unit) ->
                    share:((Procfs.Process.Statm.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Statm.t -> Procfs.bigint -> unit) ->
                    text:((Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          Procfs.Process.Statm.t -> Procfs.bigint -> unit) ->
                    lib:((Procfs.Process.Statm.t, Procfs.bigint)
                         Fieldslib.Field.t ->
                         Procfs.Process.Statm.t -> Procfs.bigint -> unit) ->
                    data:((Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          Procfs.Process.Statm.t -> Procfs.bigint -> unit) ->
                    dt:((Procfs.Process.Statm.t, Procfs.bigint)
                        Fieldslib.Field.t ->
                        Procfs.Process.Statm.t -> Procfs.bigint -> unit) ->
                    unit
                  val fold :
                    Procfs.Process.Statm.t ->
                    init:'acc__ ->
                    size:('acc__ ->
                          (Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          Procfs.Process.Statm.t -> Procfs.bigint -> 'acc__) ->
                    resident:('acc__ ->
                              (Procfs.Process.Statm.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Process.Statm.t ->
                              Procfs.bigint -> 'acc__) ->
                    share:('acc__ ->
                           (Procfs.Process.Statm.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Process.Statm.t -> Procfs.bigint -> 'acc__) ->
                    text:('acc__ ->
                          (Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          Procfs.Process.Statm.t -> Procfs.bigint -> 'acc__) ->
                    lib:('acc__ ->
                         (Procfs.Process.Statm.t, Procfs.bigint)
                         Fieldslib.Field.t ->
                         Procfs.Process.Statm.t -> Procfs.bigint -> 'acc__) ->
                    data:('acc__ ->
                          (Procfs.Process.Statm.t, Procfs.bigint)
                          Fieldslib.Field.t ->
                          Procfs.Process.Statm.t -> Procfs.bigint -> 'acc__) ->
                    dt:('acc__ ->
                        (Procfs.Process.Statm.t, Procfs.bigint)
                        Fieldslib.Field.t ->
                        Procfs.Process.Statm.t -> Procfs.bigint -> 'acc__) ->
                    'acc__
                end
            end
          val t_of_sexp : Sexplib.Sexp.t -> Procfs.Process.Statm.t
          val sexp_of_t : Procfs.Process.Statm.t -> Sexplib.Sexp.t
        end
      module Status :
        sig
          type t = {
            uid : int;
            euid : int;
            suid : int;
            fsuid : int;
            gid : int;
            egid : int;
            sgid : int;
            fsgid : int;
          }
          val fsgid : Procfs.Process.Status.t -> int
          val sgid : Procfs.Process.Status.t -> int
          val egid : Procfs.Process.Status.t -> int
          val gid : Procfs.Process.Status.t -> int
          val fsuid : Procfs.Process.Status.t -> int
          val suid : Procfs.Process.Status.t -> int
          val euid : Procfs.Process.Status.t -> int
          val uid : Procfs.Process.Status.t -> int
          module Fields :
            sig
              val names : string list
              val fsgid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
              val sgid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
              val egid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
              val gid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
              val fsuid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
              val suid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
              val euid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
              val uid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
              val fold :
                init:'acc__ ->
                uid:('acc__ ->
                     (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                     'acc__) ->
                euid:('acc__ ->
                      (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      'acc__) ->
                suid:('acc__ ->
                      (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      'acc__) ->
                fsuid:('acc__ ->
                       (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       'acc__) ->
                gid:('acc__ ->
                     (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                     'acc__) ->
                egid:('acc__ ->
                      (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      'acc__) ->
                sgid:('acc__ ->
                      (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      'acc__) ->
                fsgid:('acc__ ->
                       (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       'acc__) ->
                'acc__
              val make_creator :
                uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                     'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                     'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                'compile_acc__ ->
                ('input__ -> Procfs.Process.Status.t) * 'compile_acc__
              val create :
                uid:int ->
                euid:int ->
                suid:int ->
                fsuid:int ->
                gid:int ->
                egid:int -> sgid:int -> fsgid:int -> Procfs.Process.Status.t
              val iter :
                uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> unit) ->
                euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      unit) ->
                suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      unit) ->
                fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       unit) ->
                gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> unit) ->
                egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      unit) ->
                sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      unit) ->
                fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       unit) ->
                unit
              val map :
                uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
                euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
                suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
                fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       int) ->
                gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
                egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
                sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
                fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       int) ->
                Procfs.Process.Status.t
              val map_poly :
                (Procfs.Process.Status.t, 'x0) Fieldslib.Field.user ->
                'x0 list
              val for_all :
                uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
                euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      bool) ->
                suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      bool) ->
                fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       bool) ->
                gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
                egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      bool) ->
                sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      bool) ->
                fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       bool) ->
                bool
              val exists :
                uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
                euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      bool) ->
                suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      bool) ->
                fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       bool) ->
                gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
                egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      bool) ->
                sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      bool) ->
                fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       bool) ->
                bool
              val to_list :
                uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                     'elem__) ->
                euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      'elem__) ->
                suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      'elem__) ->
                fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       'elem__) ->
                gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                     'elem__) ->
                egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      'elem__) ->
                sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                      'elem__) ->
                fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                       'elem__) ->
                'elem__ list
              module Direct :
                sig
                  val iter :
                    Procfs.Process.Status.t ->
                    uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                         Procfs.Process.Status.t -> int -> unit) ->
                    euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                          Procfs.Process.Status.t -> int -> unit) ->
                    suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                          Procfs.Process.Status.t -> int -> unit) ->
                    fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                           Procfs.Process.Status.t -> int -> unit) ->
                    gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                         Procfs.Process.Status.t -> int -> unit) ->
                    egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                          Procfs.Process.Status.t -> int -> unit) ->
                    sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                          Procfs.Process.Status.t -> int -> unit) ->
                    fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                           Procfs.Process.Status.t -> int -> unit) ->
                    unit
                  val fold :
                    Procfs.Process.Status.t ->
                    init:'acc__ ->
                    uid:('acc__ ->
                         (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                         Procfs.Process.Status.t -> int -> 'acc__) ->
                    euid:('acc__ ->
                          (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                          Procfs.Process.Status.t -> int -> 'acc__) ->
                    suid:('acc__ ->
                          (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                          Procfs.Process.Status.t -> int -> 'acc__) ->
                    fsuid:('acc__ ->
                           (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                           Procfs.Process.Status.t -> int -> 'acc__) ->
                    gid:('acc__ ->
                         (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                         Procfs.Process.Status.t -> int -> 'acc__) ->
                    egid:('acc__ ->
                          (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                          Procfs.Process.Status.t -> int -> 'acc__) ->
                    sgid:('acc__ ->
                          (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                          Procfs.Process.Status.t -> int -> 'acc__) ->
                    fsgid:('acc__ ->
                           (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                           Procfs.Process.Status.t -> int -> 'acc__) ->
                    'acc__
                end
            end
          val t_of_sexp : Sexplib.Sexp.t -> Procfs.Process.Status.t
          val sexp_of_t : Procfs.Process.Status.t -> Sexplib.Sexp.t
        end
      module Fd :
        sig
          type fd_stat =
              Path of string
            | Socket of Procfs.Process.Inode.t
            | Pipe of Procfs.Process.Inode.t
            | Inotify
          type t = { fd : int; fd_stat : Procfs.Process.Fd.fd_stat; }
          val fd_stat : Procfs.Process.Fd.t -> Procfs.Process.Fd.fd_stat
          val fd : Procfs.Process.Fd.t -> int
          module Fields :
            sig
              val names : string list
              val fd_stat :
                (Procfs.Process.Fd.t, Procfs.Process.Fd.fd_stat)
                Fieldslib.Field.t
              val fd : (Procfs.Process.Fd.t, int) Fieldslib.Field.t
              val fold :
                init:'acc__ ->
                fd:('acc__ ->
                    (Procfs.Process.Fd.t, int) Fieldslib.Field.t -> 'acc__) ->
                fd_stat:('acc__ ->
                         (Procfs.Process.Fd.t, Procfs.Process.Fd.fd_stat)
                         Fieldslib.Field.t -> 'acc__) ->
                'acc__
              val make_creator :
                fd:((Procfs.Process.Fd.t, int) Fieldslib.Field.t ->
                    'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                fd_stat:((Procfs.Process.Fd.t, Procfs.Process.Fd.fd_stat)
                         Fieldslib.Field.t ->
                         'compile_acc__ ->
                         ('input__ -> Procfs.Process.Fd.fd_stat) *
                         'compile_acc__) ->
                'compile_acc__ ->
                ('input__ -> Procfs.Process.Fd.t) * 'compile_acc__
              val create :
                fd:int ->
                fd_stat:Procfs.Process.Fd.fd_stat -> Procfs.Process.Fd.t
              val iter :
                fd:((Procfs.Process.Fd.t, int) Fieldslib.Field.t -> unit) ->
                fd_stat:((Procfs.Process.Fd.t, Procfs.Process.Fd.fd_stat)
                         Fieldslib.Field.t -> unit) ->
                unit
              val map :
                fd:((Procfs.Process.Fd.t, int) Fieldslib.Field.t -> int) ->
                fd_stat:((Procfs.Process.Fd.t, Procfs.Process.Fd.fd_stat)
                         Fieldslib.Field.t -> Procfs.Process.Fd.fd_stat) ->
                Procfs.Process.Fd.t
              val map_poly :
                (Procfs.Process.Fd.t, 'x0) Fieldslib.Field.user -> 'x0 list
              val for_all :
                fd:((Procfs.Process.Fd.t, int) Fieldslib.Field.t -> bool) ->
                fd_stat:((Procfs.Process.Fd.t, Procfs.Process.Fd.fd_stat)
                         Fieldslib.Field.t -> bool) ->
                bool
              val exists :
                fd:((Procfs.Process.Fd.t, int) Fieldslib.Field.t -> bool) ->
                fd_stat:((Procfs.Process.Fd.t, Procfs.Process.Fd.fd_stat)
                         Fieldslib.Field.t -> bool) ->
                bool
              val to_list :
                fd:((Procfs.Process.Fd.t, int) Fieldslib.Field.t -> 'elem__) ->
                fd_stat:((Procfs.Process.Fd.t, Procfs.Process.Fd.fd_stat)
                         Fieldslib.Field.t -> 'elem__) ->
                'elem__ list
              module Direct :
                sig
                  val iter :
                    Procfs.Process.Fd.t ->
                    fd:((Procfs.Process.Fd.t, int) Fieldslib.Field.t ->
                        Procfs.Process.Fd.t -> int -> unit) ->
                    fd_stat:((Procfs.Process.Fd.t, Procfs.Process.Fd.fd_stat)
                             Fieldslib.Field.t ->
                             Procfs.Process.Fd.t ->
                             Procfs.Process.Fd.fd_stat -> unit) ->
                    unit
                  val fold :
                    Procfs.Process.Fd.t ->
                    init:'acc__ ->
                    fd:('acc__ ->
                        (Procfs.Process.Fd.t, int) Fieldslib.Field.t ->
                        Procfs.Process.Fd.t -> int -> 'acc__) ->
                    fd_stat:('acc__ ->
                             (Procfs.Process.Fd.t, Procfs.Process.Fd.fd_stat)
                             Fieldslib.Field.t ->
                             Procfs.Process.Fd.t ->
                             Procfs.Process.Fd.fd_stat -> 'acc__) ->
                    'acc__
                end
            end
          val fd_stat_of_sexp : Sexplib.Sexp.t -> Procfs.Process.Fd.fd_stat
          val sexp_of_fd_stat : Procfs.Process.Fd.fd_stat -> Sexplib.Sexp.t
          val t_of_sexp : Sexplib.Sexp.t -> Procfs.Process.Fd.t
          val sexp_of_t : Procfs.Process.Fd.t -> Sexplib.Sexp.t
        end
      type t = {
        pid : Core.Std.Pid.t;
        cmdline : string;
        cwd : string option;
        environ : string option;
        exe : string option;
        root : string option;
        limits : Procfs.Process.Limits.t option;
        stat : Procfs.Process.Stat.t;
        statm : Procfs.Process.Statm.t;
        status : Procfs.Process.Status.t;
        task_stats : Procfs.Process.Stat.t Core.Std.Pid.Map.t;
        top_command : string;
        fds : Procfs.Process.Fd.t list option;
        oom_adj : int;
        oom_score : int;
      }
      val oom_score : Procfs.Process.t -> int
      val oom_adj : Procfs.Process.t -> int
      val fds : Procfs.Process.t -> Procfs.Process.Fd.t list option
      val top_command : Procfs.Process.t -> string
      val task_stats :
        Procfs.Process.t -> Procfs.Process.Stat.t Core.Std.Pid.Map.t
      val status : Procfs.Process.t -> Procfs.Process.Status.t
      val statm : Procfs.Process.t -> Procfs.Process.Statm.t
      val stat : Procfs.Process.t -> Procfs.Process.Stat.t
      val limits : Procfs.Process.t -> Procfs.Process.Limits.t option
      val root : Procfs.Process.t -> string option
      val exe : Procfs.Process.t -> string option
      val environ : Procfs.Process.t -> string option
      val cwd : Procfs.Process.t -> string option
      val cmdline : Procfs.Process.t -> string
      val pid : Procfs.Process.t -> Core.Std.Pid.t
      module Fields :
        sig
          val names : string list
          val oom_score : (Procfs.Process.t, int) Fieldslib.Field.t
          val oom_adj : (Procfs.Process.t, int) Fieldslib.Field.t
          val fds :
            (Procfs.Process.t, Procfs.Process.Fd.t list option)
            Fieldslib.Field.t
          val top_command : (Procfs.Process.t, string) Fieldslib.Field.t
          val task_stats :
            (Procfs.Process.t, Procfs.Process.Stat.t Core.Std.Pid.Map.t)
            Fieldslib.Field.t
          val status :
            (Procfs.Process.t, Procfs.Process.Status.t) Fieldslib.Field.t
          val statm :
            (Procfs.Process.t, Procfs.Process.Statm.t) Fieldslib.Field.t
          val stat :
            (Procfs.Process.t, Procfs.Process.Stat.t) Fieldslib.Field.t
          val limits :
            (Procfs.Process.t, Procfs.Process.Limits.t option)
            Fieldslib.Field.t
          val root : (Procfs.Process.t, string option) Fieldslib.Field.t
          val exe : (Procfs.Process.t, string option) Fieldslib.Field.t
          val environ : (Procfs.Process.t, string option) Fieldslib.Field.t
          val cwd : (Procfs.Process.t, string option) Fieldslib.Field.t
          val cmdline : (Procfs.Process.t, string) Fieldslib.Field.t
          val pid : (Procfs.Process.t, Core.Std.Pid.t) Fieldslib.Field.t
          val fold :
            init:'acc__ ->
            pid:('acc__ ->
                 (Procfs.Process.t, Core.Std.Pid.t) Fieldslib.Field.t ->
                 'acc__) ->
            cmdline:('acc__ ->
                     (Procfs.Process.t, string) Fieldslib.Field.t -> 'acc__) ->
            cwd:('acc__ ->
                 (Procfs.Process.t, string option) Fieldslib.Field.t ->
                 'acc__) ->
            environ:('acc__ ->
                     (Procfs.Process.t, string option) Fieldslib.Field.t ->
                     'acc__) ->
            exe:('acc__ ->
                 (Procfs.Process.t, string option) Fieldslib.Field.t ->
                 'acc__) ->
            root:('acc__ ->
                  (Procfs.Process.t, string option) Fieldslib.Field.t ->
                  'acc__) ->
            limits:('acc__ ->
                    (Procfs.Process.t, Procfs.Process.Limits.t option)
                    Fieldslib.Field.t -> 'acc__) ->
            stat:('acc__ ->
                  (Procfs.Process.t, Procfs.Process.Stat.t) Fieldslib.Field.t ->
                  'acc__) ->
            statm:('acc__ ->
                   (Procfs.Process.t, Procfs.Process.Statm.t)
                   Fieldslib.Field.t -> 'acc__) ->
            status:('acc__ ->
                    (Procfs.Process.t, Procfs.Process.Status.t)
                    Fieldslib.Field.t -> 'acc__) ->
            task_stats:('acc__ ->
                        (Procfs.Process.t,
                         Procfs.Process.Stat.t Core.Std.Pid.Map.t)
                        Fieldslib.Field.t -> 'acc__) ->
            top_command:('acc__ ->
                         (Procfs.Process.t, string) Fieldslib.Field.t ->
                         'acc__) ->
            fds:('acc__ ->
                 (Procfs.Process.t, Procfs.Process.Fd.t list option)
                 Fieldslib.Field.t -> 'acc__) ->
            oom_adj:('acc__ ->
                     (Procfs.Process.t, int) Fieldslib.Field.t -> 'acc__) ->
            oom_score:('acc__ ->
                       (Procfs.Process.t, int) Fieldslib.Field.t -> 'acc__) ->
            'acc__
          val make_creator :
            pid:((Procfs.Process.t, Core.Std.Pid.t) Fieldslib.Field.t ->
                 'compile_acc__ ->
                 ('input__ -> Core.Std.Pid.t) * 'compile_acc__) ->
            cmdline:((Procfs.Process.t, string) Fieldslib.Field.t ->
                     'compile_acc__ -> ('input__ -> string) * 'compile_acc__) ->
            cwd:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                 'compile_acc__ ->
                 ('input__ -> string option) * 'compile_acc__) ->
            environ:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                     'compile_acc__ ->
                     ('input__ -> string option) * 'compile_acc__) ->
            exe:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                 'compile_acc__ ->
                 ('input__ -> string option) * 'compile_acc__) ->
            root:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                  'compile_acc__ ->
                  ('input__ -> string option) * 'compile_acc__) ->
            limits:((Procfs.Process.t, Procfs.Process.Limits.t option)
                    Fieldslib.Field.t ->
                    'compile_acc__ ->
                    ('input__ -> Procfs.Process.Limits.t option) *
                    'compile_acc__) ->
            stat:((Procfs.Process.t, Procfs.Process.Stat.t) Fieldslib.Field.t ->
                  'compile_acc__ ->
                  ('input__ -> Procfs.Process.Stat.t) * 'compile_acc__) ->
            statm:((Procfs.Process.t, Procfs.Process.Statm.t)
                   Fieldslib.Field.t ->
                   'compile_acc__ ->
                   ('input__ -> Procfs.Process.Statm.t) * 'compile_acc__) ->
            status:((Procfs.Process.t, Procfs.Process.Status.t)
                    Fieldslib.Field.t ->
                    'compile_acc__ ->
                    ('input__ -> Procfs.Process.Status.t) * 'compile_acc__) ->
            task_stats:((Procfs.Process.t,
                         Procfs.Process.Stat.t Core.Std.Pid.Map.t)
                        Fieldslib.Field.t ->
                        'compile_acc__ ->
                        ('input__ -> Procfs.Process.Stat.t Core.Std.Pid.Map.t) *
                        'compile_acc__) ->
            top_command:((Procfs.Process.t, string) Fieldslib.Field.t ->
                         'compile_acc__ ->
                         ('input__ -> string) * 'compile_acc__) ->
            fds:((Procfs.Process.t, Procfs.Process.Fd.t list option)
                 Fieldslib.Field.t ->
                 'compile_acc__ ->
                 ('input__ -> Procfs.Process.Fd.t list option) *
                 'compile_acc__) ->
            oom_adj:((Procfs.Process.t, int) Fieldslib.Field.t ->
                     'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
            oom_score:((Procfs.Process.t, int) Fieldslib.Field.t ->
                       'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
            'compile_acc__ -> ('input__ -> Procfs.Process.t) * 'compile_acc__
          val create :
            pid:Core.Std.Pid.t ->
            cmdline:string ->
            cwd:string option ->
            environ:string option ->
            exe:string option ->
            root:string option ->
            limits:Procfs.Process.Limits.t option ->
            stat:Procfs.Process.Stat.t ->
            statm:Procfs.Process.Statm.t ->
            status:Procfs.Process.Status.t ->
            task_stats:Procfs.Process.Stat.t Core.Std.Pid.Map.t ->
            top_command:string ->
            fds:Procfs.Process.Fd.t list option ->
            oom_adj:int -> oom_score:int -> Procfs.Process.t
          val iter :
            pid:((Procfs.Process.t, Core.Std.Pid.t) Fieldslib.Field.t -> unit) ->
            cmdline:((Procfs.Process.t, string) Fieldslib.Field.t -> unit) ->
            cwd:((Procfs.Process.t, string option) Fieldslib.Field.t -> unit) ->
            environ:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                     unit) ->
            exe:((Procfs.Process.t, string option) Fieldslib.Field.t -> unit) ->
            root:((Procfs.Process.t, string option) Fieldslib.Field.t -> unit) ->
            limits:((Procfs.Process.t, Procfs.Process.Limits.t option)
                    Fieldslib.Field.t -> unit) ->
            stat:((Procfs.Process.t, Procfs.Process.Stat.t) Fieldslib.Field.t ->
                  unit) ->
            statm:((Procfs.Process.t, Procfs.Process.Statm.t)
                   Fieldslib.Field.t -> unit) ->
            status:((Procfs.Process.t, Procfs.Process.Status.t)
                    Fieldslib.Field.t -> unit) ->
            task_stats:((Procfs.Process.t,
                         Procfs.Process.Stat.t Core.Std.Pid.Map.t)
                        Fieldslib.Field.t -> unit) ->
            top_command:((Procfs.Process.t, string) Fieldslib.Field.t -> unit) ->
            fds:((Procfs.Process.t, Procfs.Process.Fd.t list option)
                 Fieldslib.Field.t -> unit) ->
            oom_adj:((Procfs.Process.t, int) Fieldslib.Field.t -> unit) ->
            oom_score:((Procfs.Process.t, int) Fieldslib.Field.t -> unit) ->
            unit
          val map :
            pid:((Procfs.Process.t, Core.Std.Pid.t) Fieldslib.Field.t ->
                 Core.Std.Pid.t) ->
            cmdline:((Procfs.Process.t, string) Fieldslib.Field.t -> string) ->
            cwd:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                 string option) ->
            environ:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                     string option) ->
            exe:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                 string option) ->
            root:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                  string option) ->
            limits:((Procfs.Process.t, Procfs.Process.Limits.t option)
                    Fieldslib.Field.t -> Procfs.Process.Limits.t option) ->
            stat:((Procfs.Process.t, Procfs.Process.Stat.t) Fieldslib.Field.t ->
                  Procfs.Process.Stat.t) ->
            statm:((Procfs.Process.t, Procfs.Process.Statm.t)
                   Fieldslib.Field.t -> Procfs.Process.Statm.t) ->
            status:((Procfs.Process.t, Procfs.Process.Status.t)
                    Fieldslib.Field.t -> Procfs.Process.Status.t) ->
            task_stats:((Procfs.Process.t,
                         Procfs.Process.Stat.t Core.Std.Pid.Map.t)
                        Fieldslib.Field.t ->
                        Procfs.Process.Stat.t Core.Std.Pid.Map.t) ->
            top_command:((Procfs.Process.t, string) Fieldslib.Field.t ->
                         string) ->
            fds:((Procfs.Process.t, Procfs.Process.Fd.t list option)
                 Fieldslib.Field.t -> Procfs.Process.Fd.t list option) ->
            oom_adj:((Procfs.Process.t, int) Fieldslib.Field.t -> int) ->
            oom_score:((Procfs.Process.t, int) Fieldslib.Field.t -> int) ->
            Procfs.Process.t
          val map_poly :
            (Procfs.Process.t, 'x0) Fieldslib.Field.user -> 'x0 list
          val for_all :
            pid:((Procfs.Process.t, Core.Std.Pid.t) Fieldslib.Field.t -> bool) ->
            cmdline:((Procfs.Process.t, string) Fieldslib.Field.t -> bool) ->
            cwd:((Procfs.Process.t, string option) Fieldslib.Field.t -> bool) ->
            environ:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                     bool) ->
            exe:((Procfs.Process.t, string option) Fieldslib.Field.t -> bool) ->
            root:((Procfs.Process.t, string option) Fieldslib.Field.t -> bool) ->
            limits:((Procfs.Process.t, Procfs.Process.Limits.t option)
                    Fieldslib.Field.t -> bool) ->
            stat:((Procfs.Process.t, Procfs.Process.Stat.t) Fieldslib.Field.t ->
                  bool) ->
            statm:((Procfs.Process.t, Procfs.Process.Statm.t)
                   Fieldslib.Field.t -> bool) ->
            status:((Procfs.Process.t, Procfs.Process.Status.t)
                    Fieldslib.Field.t -> bool) ->
            task_stats:((Procfs.Process.t,
                         Procfs.Process.Stat.t Core.Std.Pid.Map.t)
                        Fieldslib.Field.t -> bool) ->
            top_command:((Procfs.Process.t, string) Fieldslib.Field.t -> bool) ->
            fds:((Procfs.Process.t, Procfs.Process.Fd.t list option)
                 Fieldslib.Field.t -> bool) ->
            oom_adj:((Procfs.Process.t, int) Fieldslib.Field.t -> bool) ->
            oom_score:((Procfs.Process.t, int) Fieldslib.Field.t -> bool) ->
            bool
          val exists :
            pid:((Procfs.Process.t, Core.Std.Pid.t) Fieldslib.Field.t -> bool) ->
            cmdline:((Procfs.Process.t, string) Fieldslib.Field.t -> bool) ->
            cwd:((Procfs.Process.t, string option) Fieldslib.Field.t -> bool) ->
            environ:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                     bool) ->
            exe:((Procfs.Process.t, string option) Fieldslib.Field.t -> bool) ->
            root:((Procfs.Process.t, string option) Fieldslib.Field.t -> bool) ->
            limits:((Procfs.Process.t, Procfs.Process.Limits.t option)
                    Fieldslib.Field.t -> bool) ->
            stat:((Procfs.Process.t, Procfs.Process.Stat.t) Fieldslib.Field.t ->
                  bool) ->
            statm:((Procfs.Process.t, Procfs.Process.Statm.t)
                   Fieldslib.Field.t -> bool) ->
            status:((Procfs.Process.t, Procfs.Process.Status.t)
                    Fieldslib.Field.t -> bool) ->
            task_stats:((Procfs.Process.t,
                         Procfs.Process.Stat.t Core.Std.Pid.Map.t)
                        Fieldslib.Field.t -> bool) ->
            top_command:((Procfs.Process.t, string) Fieldslib.Field.t -> bool) ->
            fds:((Procfs.Process.t, Procfs.Process.Fd.t list option)
                 Fieldslib.Field.t -> bool) ->
            oom_adj:((Procfs.Process.t, int) Fieldslib.Field.t -> bool) ->
            oom_score:((Procfs.Process.t, int) Fieldslib.Field.t -> bool) ->
            bool
          val to_list :
            pid:((Procfs.Process.t, Core.Std.Pid.t) Fieldslib.Field.t ->
                 'elem__) ->
            cmdline:((Procfs.Process.t, string) Fieldslib.Field.t -> 'elem__) ->
            cwd:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                 'elem__) ->
            environ:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                     'elem__) ->
            exe:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                 'elem__) ->
            root:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                  'elem__) ->
            limits:((Procfs.Process.t, Procfs.Process.Limits.t option)
                    Fieldslib.Field.t -> 'elem__) ->
            stat:((Procfs.Process.t, Procfs.Process.Stat.t) Fieldslib.Field.t ->
                  'elem__) ->
            statm:((Procfs.Process.t, Procfs.Process.Statm.t)
                   Fieldslib.Field.t -> 'elem__) ->
            status:((Procfs.Process.t, Procfs.Process.Status.t)
                    Fieldslib.Field.t -> 'elem__) ->
            task_stats:((Procfs.Process.t,
                         Procfs.Process.Stat.t Core.Std.Pid.Map.t)
                        Fieldslib.Field.t -> 'elem__) ->
            top_command:((Procfs.Process.t, string) Fieldslib.Field.t ->
                         'elem__) ->
            fds:((Procfs.Process.t, Procfs.Process.Fd.t list option)
                 Fieldslib.Field.t -> 'elem__) ->
            oom_adj:((Procfs.Process.t, int) Fieldslib.Field.t -> 'elem__) ->
            oom_score:((Procfs.Process.t, int) Fieldslib.Field.t -> 'elem__) ->
            'elem__ list
          module Direct :
            sig
              val iter :
                Procfs.Process.t ->
                pid:((Procfs.Process.t, Core.Std.Pid.t) Fieldslib.Field.t ->
                     Procfs.Process.t -> Core.Std.Pid.t -> unit) ->
                cmdline:((Procfs.Process.t, string) Fieldslib.Field.t ->
                         Procfs.Process.t -> string -> unit) ->
                cwd:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                     Procfs.Process.t -> string option -> unit) ->
                environ:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                         Procfs.Process.t -> string option -> unit) ->
                exe:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                     Procfs.Process.t -> string option -> unit) ->
                root:((Procfs.Process.t, string option) Fieldslib.Field.t ->
                      Procfs.Process.t -> string option -> unit) ->
                limits:((Procfs.Process.t, Procfs.Process.Limits.t option)
                        Fieldslib.Field.t ->
                        Procfs.Process.t ->
                        Procfs.Process.Limits.t option -> unit) ->
                stat:((Procfs.Process.t, Procfs.Process.Stat.t)
                      Fieldslib.Field.t ->
                      Procfs.Process.t -> Procfs.Process.Stat.t -> unit) ->
                statm:((Procfs.Process.t, Procfs.Process.Statm.t)
                       Fieldslib.Field.t ->
                       Procfs.Process.t -> Procfs.Process.Statm.t -> unit) ->
                status:((Procfs.Process.t, Procfs.Process.Status.t)
                        Fieldslib.Field.t ->
                        Procfs.Process.t -> Procfs.Process.Status.t -> unit) ->
                task_stats:((Procfs.Process.t,
                             Procfs.Process.Stat.t Core.Std.Pid.Map.t)
                            Fieldslib.Field.t ->
                            Procfs.Process.t ->
                            Procfs.Process.Stat.t Core.Std.Pid.Map.t -> unit) ->
                top_command:((Procfs.Process.t, string) Fieldslib.Field.t ->
                             Procfs.Process.t -> string -> unit) ->
                fds:((Procfs.Process.t, Procfs.Process.Fd.t list option)
                     Fieldslib.Field.t ->
                     Procfs.Process.t ->
                     Procfs.Process.Fd.t list option -> unit) ->
                oom_adj:((Procfs.Process.t, int) Fieldslib.Field.t ->
                         Procfs.Process.t -> int -> unit) ->
                oom_score:((Procfs.Process.t, int) Fieldslib.Field.t ->
                           Procfs.Process.t -> int -> unit) ->
                unit
              val fold :
                Procfs.Process.t ->
                init:'acc__ ->
                pid:('acc__ ->
                     (Procfs.Process.t, Core.Std.Pid.t) Fieldslib.Field.t ->
                     Procfs.Process.t -> Core.Std.Pid.t -> 'acc__) ->
                cmdline:('acc__ ->
                         (Procfs.Process.t, string) Fieldslib.Field.t ->
                         Procfs.Process.t -> string -> 'acc__) ->
                cwd:('acc__ ->
                     (Procfs.Process.t, string option) Fieldslib.Field.t ->
                     Procfs.Process.t -> string option -> 'acc__) ->
                environ:('acc__ ->
                         (Procfs.Process.t, string option) Fieldslib.Field.t ->
                         Procfs.Process.t -> string option -> 'acc__) ->
                exe:('acc__ ->
                     (Procfs.Process.t, string option) Fieldslib.Field.t ->
                     Procfs.Process.t -> string option -> 'acc__) ->
                root:('acc__ ->
                      (Procfs.Process.t, string option) Fieldslib.Field.t ->
                      Procfs.Process.t -> string option -> 'acc__) ->
                limits:('acc__ ->
                        (Procfs.Process.t, Procfs.Process.Limits.t option)
                        Fieldslib.Field.t ->
                        Procfs.Process.t ->
                        Procfs.Process.Limits.t option -> 'acc__) ->
                stat:('acc__ ->
                      (Procfs.Process.t, Procfs.Process.Stat.t)
                      Fieldslib.Field.t ->
                      Procfs.Process.t -> Procfs.Process.Stat.t -> 'acc__) ->
                statm:('acc__ ->
                       (Procfs.Process.t, Procfs.Process.Statm.t)
                       Fieldslib.Field.t ->
                       Procfs.Process.t -> Procfs.Process.Statm.t -> 'acc__) ->
                status:('acc__ ->
                        (Procfs.Process.t, Procfs.Process.Status.t)
                        Fieldslib.Field.t ->
                        Procfs.Process.t -> Procfs.Process.Status.t -> 'acc__) ->
                task_stats:('acc__ ->
                            (Procfs.Process.t,
                             Procfs.Process.Stat.t Core.Std.Pid.Map.t)
                            Fieldslib.Field.t ->
                            Procfs.Process.t ->
                            Procfs.Process.Stat.t Core.Std.Pid.Map.t ->
                            'acc__) ->
                top_command:('acc__ ->
                             (Procfs.Process.t, string) Fieldslib.Field.t ->
                             Procfs.Process.t -> string -> 'acc__) ->
                fds:('acc__ ->
                     (Procfs.Process.t, Procfs.Process.Fd.t list option)
                     Fieldslib.Field.t ->
                     Procfs.Process.t ->
                     Procfs.Process.Fd.t list option -> 'acc__) ->
                oom_adj:('acc__ ->
                         (Procfs.Process.t, int) Fieldslib.Field.t ->
                         Procfs.Process.t -> int -> 'acc__) ->
                oom_score:('acc__ ->
                           (Procfs.Process.t, int) Fieldslib.Field.t ->
                           Procfs.Process.t -> int -> 'acc__) ->
                'acc__
            end
        end
      val t_of_sexp : Sexplib.Sexp.t -> Procfs.Process.t
      val sexp_of_t : Procfs.Process.t -> Sexplib.Sexp.t
    end
  module Meminfo :
    sig
      type t = {
        mem_total : Procfs.bigint;
        mem_free : Procfs.bigint;
        buffers : Procfs.bigint;
        cached : Procfs.bigint;
        swap_cached : Procfs.bigint;
        active : Procfs.bigint;
        inactive : Procfs.bigint;
        swap_total : Procfs.bigint;
        swap_free : Procfs.bigint;
        dirty : Procfs.bigint;
        writeback : Procfs.bigint;
        anon_pages : Procfs.bigint;
        mapped : Procfs.bigint;
        slab : Procfs.bigint;
        page_tables : Procfs.bigint;
        nfs_unstable : Procfs.bigint;
        bounce : Procfs.bigint;
        commit_limit : Procfs.bigint;
        committed_as : Procfs.bigint;
        vmalloc_total : Procfs.bigint;
        vmalloc_used : Procfs.bigint;
        vmalloc_chunk : Procfs.bigint;
      }
      val vmalloc_chunk : Procfs.Meminfo.t -> Procfs.bigint
      val vmalloc_used : Procfs.Meminfo.t -> Procfs.bigint
      val vmalloc_total : Procfs.Meminfo.t -> Procfs.bigint
      val committed_as : Procfs.Meminfo.t -> Procfs.bigint
      val commit_limit : Procfs.Meminfo.t -> Procfs.bigint
      val bounce : Procfs.Meminfo.t -> Procfs.bigint
      val nfs_unstable : Procfs.Meminfo.t -> Procfs.bigint
      val page_tables : Procfs.Meminfo.t -> Procfs.bigint
      val slab : Procfs.Meminfo.t -> Procfs.bigint
      val mapped : Procfs.Meminfo.t -> Procfs.bigint
      val anon_pages : Procfs.Meminfo.t -> Procfs.bigint
      val writeback : Procfs.Meminfo.t -> Procfs.bigint
      val dirty : Procfs.Meminfo.t -> Procfs.bigint
      val swap_free : Procfs.Meminfo.t -> Procfs.bigint
      val swap_total : Procfs.Meminfo.t -> Procfs.bigint
      val inactive : Procfs.Meminfo.t -> Procfs.bigint
      val active : Procfs.Meminfo.t -> Procfs.bigint
      val swap_cached : Procfs.Meminfo.t -> Procfs.bigint
      val cached : Procfs.Meminfo.t -> Procfs.bigint
      val buffers : Procfs.Meminfo.t -> Procfs.bigint
      val mem_free : Procfs.Meminfo.t -> Procfs.bigint
      val mem_total : Procfs.Meminfo.t -> Procfs.bigint
      module Fields :
        sig
          val names : string list
          val vmalloc_chunk :
            (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val vmalloc_used :
            (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val vmalloc_total :
            (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val committed_as :
            (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val commit_limit :
            (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val bounce : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val nfs_unstable :
            (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val page_tables :
            (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val slab : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val mapped : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val anon_pages :
            (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val writeback : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val dirty : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val swap_free : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val swap_total :
            (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val inactive : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val active : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val swap_cached :
            (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val cached : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val buffers : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val mem_free : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val mem_total : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
          val fold :
            init:'acc__ ->
            mem_total:('acc__ ->
                       (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'acc__) ->
            mem_free:('acc__ ->
                      (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'acc__) ->
            buffers:('acc__ ->
                     (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     'acc__) ->
            cached:('acc__ ->
                    (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'acc__) ->
            swap_cached:('acc__ ->
                         (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         'acc__) ->
            active:('acc__ ->
                    (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'acc__) ->
            inactive:('acc__ ->
                      (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'acc__) ->
            swap_total:('acc__ ->
                        (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        'acc__) ->
            swap_free:('acc__ ->
                       (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'acc__) ->
            dirty:('acc__ ->
                   (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   'acc__) ->
            writeback:('acc__ ->
                       (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'acc__) ->
            anon_pages:('acc__ ->
                        (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        'acc__) ->
            mapped:('acc__ ->
                    (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'acc__) ->
            slab:('acc__ ->
                  (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  'acc__) ->
            page_tables:('acc__ ->
                         (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         'acc__) ->
            nfs_unstable:('acc__ ->
                          (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          'acc__) ->
            bounce:('acc__ ->
                    (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'acc__) ->
            commit_limit:('acc__ ->
                          (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          'acc__) ->
            committed_as:('acc__ ->
                          (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          'acc__) ->
            vmalloc_total:('acc__ ->
                           (Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t -> 'acc__) ->
            vmalloc_used:('acc__ ->
                          (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          'acc__) ->
            vmalloc_chunk:('acc__ ->
                           (Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t -> 'acc__) ->
            'acc__
          val make_creator :
            mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     'compile_acc__ ->
                     ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'compile_acc__ ->
                    ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         'compile_acc__ ->
                         ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'compile_acc__ ->
                    ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        'compile_acc__ ->
                        ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   'compile_acc__ ->
                   ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        'compile_acc__ ->
                        ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'compile_acc__ ->
                    ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  'compile_acc__ ->
                  ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         'compile_acc__ ->
                         ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'compile_acc__ ->
                    ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           'compile_acc__ ->
                           ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           'compile_acc__ ->
                           ('input__ -> Procfs.bigint) * 'compile_acc__) ->
            'compile_acc__ -> ('input__ -> Procfs.Meminfo.t) * 'compile_acc__
          val create :
            mem_total:Procfs.bigint ->
            mem_free:Procfs.bigint ->
            buffers:Procfs.bigint ->
            cached:Procfs.bigint ->
            swap_cached:Procfs.bigint ->
            active:Procfs.bigint ->
            inactive:Procfs.bigint ->
            swap_total:Procfs.bigint ->
            swap_free:Procfs.bigint ->
            dirty:Procfs.bigint ->
            writeback:Procfs.bigint ->
            anon_pages:Procfs.bigint ->
            mapped:Procfs.bigint ->
            slab:Procfs.bigint ->
            page_tables:Procfs.bigint ->
            nfs_unstable:Procfs.bigint ->
            bounce:Procfs.bigint ->
            commit_limit:Procfs.bigint ->
            committed_as:Procfs.bigint ->
            vmalloc_total:Procfs.bigint ->
            vmalloc_used:Procfs.bigint ->
            vmalloc_chunk:Procfs.bigint -> Procfs.Meminfo.t
          val iter :
            mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       unit) ->
            mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      unit) ->
            buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     unit) ->
            cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    unit) ->
            swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         unit) ->
            active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    unit) ->
            inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      unit) ->
            swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        unit) ->
            swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       unit) ->
            dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   unit) ->
            writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       unit) ->
            anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        unit) ->
            mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    unit) ->
            slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> unit) ->
            page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         unit) ->
            nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          unit) ->
            bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    unit) ->
            commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          unit) ->
            committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          unit) ->
            vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t -> unit) ->
            vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          unit) ->
            vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t -> unit) ->
            unit
          val map :
            mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.bigint) ->
            mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      Procfs.bigint) ->
            buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     Procfs.bigint) ->
            cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.bigint) ->
            swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         Procfs.bigint) ->
            active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.bigint) ->
            inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      Procfs.bigint) ->
            swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.bigint) ->
            swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.bigint) ->
            dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   Procfs.bigint) ->
            writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.bigint) ->
            anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.bigint) ->
            mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.bigint) ->
            slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  Procfs.bigint) ->
            page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         Procfs.bigint) ->
            nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.bigint) ->
            bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.bigint) ->
            commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.bigint) ->
            committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.bigint) ->
            vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t -> Procfs.bigint) ->
            vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.bigint) ->
            vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t -> Procfs.bigint) ->
            Procfs.Meminfo.t
          val map_poly :
            (Procfs.Meminfo.t, 'x0) Fieldslib.Field.user -> 'x0 list
          val for_all :
            mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       bool) ->
            mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      bool) ->
            buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     bool) ->
            cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
            swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         bool) ->
            active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
            inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      bool) ->
            swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        bool) ->
            swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       bool) ->
            dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   bool) ->
            writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       bool) ->
            anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        bool) ->
            mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
            slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
            page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         bool) ->
            nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          bool) ->
            bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
            commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          bool) ->
            committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          bool) ->
            vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t -> bool) ->
            vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          bool) ->
            vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t -> bool) ->
            bool
          val exists :
            mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       bool) ->
            mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      bool) ->
            buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     bool) ->
            cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
            swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         bool) ->
            active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
            inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      bool) ->
            swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        bool) ->
            swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       bool) ->
            dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   bool) ->
            writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       bool) ->
            anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        bool) ->
            mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
            slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
            page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         bool) ->
            nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          bool) ->
            bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
            commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          bool) ->
            committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          bool) ->
            vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t -> bool) ->
            vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          bool) ->
            vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t -> bool) ->
            bool
          val to_list :
            mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'elem__) ->
            mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'elem__) ->
            buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     'elem__) ->
            cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'elem__) ->
            swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         'elem__) ->
            active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'elem__) ->
            inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'elem__) ->
            swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        'elem__) ->
            swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'elem__) ->
            dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   'elem__) ->
            writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'elem__) ->
            anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        'elem__) ->
            mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'elem__) ->
            slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  'elem__) ->
            page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         'elem__) ->
            nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          'elem__) ->
            bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'elem__) ->
            commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          'elem__) ->
            committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          'elem__) ->
            vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t -> 'elem__) ->
            vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          'elem__) ->
            vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t -> 'elem__) ->
            'elem__ list
          module Direct :
            sig
              val iter :
                Procfs.Meminfo.t ->
                mem_total:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                swap_cached:((Procfs.Meminfo.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                swap_total:((Procfs.Meminfo.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                swap_free:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                writeback:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                anon_pages:((Procfs.Meminfo.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                page_tables:((Procfs.Meminfo.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                commit_limit:((Procfs.Meminfo.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                committed_as:((Procfs.Meminfo.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint)
                               Fieldslib.Field.t ->
                               Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint)
                               Fieldslib.Field.t ->
                               Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
                unit
              val fold :
                Procfs.Meminfo.t ->
                init:'acc__ ->
                mem_total:('acc__ ->
                           (Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                mem_free:('acc__ ->
                          (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                buffers:('acc__ ->
                         (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                cached:('acc__ ->
                        (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                swap_cached:('acc__ ->
                             (Procfs.Meminfo.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                active:('acc__ ->
                        (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                inactive:('acc__ ->
                          (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                swap_total:('acc__ ->
                            (Procfs.Meminfo.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                swap_free:('acc__ ->
                           (Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                dirty:('acc__ ->
                       (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                writeback:('acc__ ->
                           (Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                anon_pages:('acc__ ->
                            (Procfs.Meminfo.t, Procfs.bigint)
                            Fieldslib.Field.t ->
                            Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                mapped:('acc__ ->
                        (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                slab:('acc__ ->
                      (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                page_tables:('acc__ ->
                             (Procfs.Meminfo.t, Procfs.bigint)
                             Fieldslib.Field.t ->
                             Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                nfs_unstable:('acc__ ->
                              (Procfs.Meminfo.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                bounce:('acc__ ->
                        (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                commit_limit:('acc__ ->
                              (Procfs.Meminfo.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                committed_as:('acc__ ->
                              (Procfs.Meminfo.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                vmalloc_total:('acc__ ->
                               (Procfs.Meminfo.t, Procfs.bigint)
                               Fieldslib.Field.t ->
                               Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                vmalloc_used:('acc__ ->
                              (Procfs.Meminfo.t, Procfs.bigint)
                              Fieldslib.Field.t ->
                              Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                vmalloc_chunk:('acc__ ->
                               (Procfs.Meminfo.t, Procfs.bigint)
                               Fieldslib.Field.t ->
                               Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
                'acc__
            end
        end
      val t_of_sexp : Sexplib.Sexp.t -> Procfs.Meminfo.t
      val sexp_of_t : Procfs.Meminfo.t -> Sexplib.Sexp.t
    end
  module Loadavg :
    sig
      type t = { one : float; ten : float; fifteen : float; }
      val fifteen : Procfs.Loadavg.t -> float
      val ten : Procfs.Loadavg.t -> float
      val one : Procfs.Loadavg.t -> float
      module Fields :
        sig
          val names : string list
          val fifteen : (Procfs.Loadavg.t, float) Fieldslib.Field.t
          val ten : (Procfs.Loadavg.t, float) Fieldslib.Field.t
          val one : (Procfs.Loadavg.t, float) Fieldslib.Field.t
          val fold :
            init:'acc__ ->
            one:('acc__ ->
                 (Procfs.Loadavg.t, float) Fieldslib.Field.t -> 'acc__) ->
            ten:('acc__ ->
                 (Procfs.Loadavg.t, float) Fieldslib.Field.t -> 'acc__) ->
            fifteen:('acc__ ->
                     (Procfs.Loadavg.t, float) Fieldslib.Field.t -> 'acc__) ->
            'acc__
          val make_creator :
            one:((Procfs.Loadavg.t, float) Fieldslib.Field.t ->
                 'compile_acc__ -> ('input__ -> float) * 'compile_acc__) ->
            ten:((Procfs.Loadavg.t, float) Fieldslib.Field.t ->
                 'compile_acc__ -> ('input__ -> float) * 'compile_acc__) ->
            fifteen:((Procfs.Loadavg.t, float) Fieldslib.Field.t ->
                     'compile_acc__ -> ('input__ -> float) * 'compile_acc__) ->
            'compile_acc__ -> ('input__ -> Procfs.Loadavg.t) * 'compile_acc__
          val create :
            one:float -> ten:float -> fifteen:float -> Procfs.Loadavg.t
          val iter :
            one:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> unit) ->
            ten:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> unit) ->
            fifteen:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> unit) ->
            unit
          val map :
            one:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> float) ->
            ten:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> float) ->
            fifteen:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> float) ->
            Procfs.Loadavg.t
          val map_poly :
            (Procfs.Loadavg.t, 'x0) Fieldslib.Field.user -> 'x0 list
          val for_all :
            one:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> bool) ->
            ten:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> bool) ->
            fifteen:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> bool) ->
            bool
          val exists :
            one:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> bool) ->
            ten:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> bool) ->
            fifteen:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> bool) ->
            bool
          val to_list :
            one:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> 'elem__) ->
            ten:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> 'elem__) ->
            fifteen:((Procfs.Loadavg.t, float) Fieldslib.Field.t -> 'elem__) ->
            'elem__ list
          module Direct :
            sig
              val iter :
                Procfs.Loadavg.t ->
                one:((Procfs.Loadavg.t, float) Fieldslib.Field.t ->
                     Procfs.Loadavg.t -> float -> unit) ->
                ten:((Procfs.Loadavg.t, float) Fieldslib.Field.t ->
                     Procfs.Loadavg.t -> float -> unit) ->
                fifteen:((Procfs.Loadavg.t, float) Fieldslib.Field.t ->
                         Procfs.Loadavg.t -> float -> unit) ->
                unit
              val fold :
                Procfs.Loadavg.t ->
                init:'acc__ ->
                one:('acc__ ->
                     (Procfs.Loadavg.t, float) Fieldslib.Field.t ->
                     Procfs.Loadavg.t -> float -> 'acc__) ->
                ten:('acc__ ->
                     (Procfs.Loadavg.t, float) Fieldslib.Field.t ->
                     Procfs.Loadavg.t -> float -> 'acc__) ->
                fifteen:('acc__ ->
                         (Procfs.Loadavg.t, float) Fieldslib.Field.t ->
                         Procfs.Loadavg.t -> float -> 'acc__) ->
                'acc__
            end
        end
    end
  val get_all_procs : unit -> Procfs.Process.t list
  val with_pid_exn : Core.Std.Pid.t -> Procfs.Process.t
  val with_pid : Core.Std.Pid.t -> Procfs.Process.t option
  val with_uid : int -> Procfs.Process.t list
  val pgrep : (Procfs.Process.t -> bool) -> Procfs.Process.t list
  val pkill :
    signal:Core.Std.Signal.t ->
    (Procfs.Process.t -> bool) ->
    (Core.Std.Pid.t * (unit, Core.Std.Unix.error) Core.Std.Result.t) list
  val with_username_exn : string -> Procfs.Process.t list
  val with_username : string -> Procfs.Process.t list option
  val jiffies_per_second_exn : unit -> float
  val jiffies_per_second : unit -> float option
  val meminfo_exn : unit -> Procfs.Meminfo.t
  val meminfo : unit -> Procfs.Meminfo.t option
  val loadavg_exn : unit -> Procfs.Loadavg.t
  val loadavg : unit -> Procfs.Loadavg.t option
  module Net :
    sig
      module Dev :
        sig
          type t = {
            iface : string;
            rx_bytes : int;
            rx_packets : int;
            rx_errs : int;
            rx_drop : int;
            rx_fifo : int;
            rx_frame : int;
            rx_compressed : bool;
            rx_multicast : bool;
            tx_bytes : int;
            tx_packets : int;
            tx_errs : int;
            tx_drop : int;
            tx_fifo : int;
            tx_colls : int;
            tx_carrier : int;
            tx_compressed : bool;
          }
          val tx_compressed : Procfs.Net.Dev.t -> bool
          val tx_carrier : Procfs.Net.Dev.t -> int
          val tx_colls : Procfs.Net.Dev.t -> int
          val tx_fifo : Procfs.Net.Dev.t -> int
          val tx_drop : Procfs.Net.Dev.t -> int
          val tx_errs : Procfs.Net.Dev.t -> int
          val tx_packets : Procfs.Net.Dev.t -> int
          val tx_bytes : Procfs.Net.Dev.t -> int
          val rx_multicast : Procfs.Net.Dev.t -> bool
          val rx_compressed : Procfs.Net.Dev.t -> bool
          val rx_frame : Procfs.Net.Dev.t -> int
          val rx_fifo : Procfs.Net.Dev.t -> int
          val rx_drop : Procfs.Net.Dev.t -> int
          val rx_errs : Procfs.Net.Dev.t -> int
          val rx_packets : Procfs.Net.Dev.t -> int
          val rx_bytes : Procfs.Net.Dev.t -> int
          val iface : Procfs.Net.Dev.t -> string
          module Fields :
            sig
              val names : string list
              val tx_compressed : (Procfs.Net.Dev.t, bool) Fieldslib.Field.t
              val tx_carrier : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val tx_colls : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val tx_fifo : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val tx_drop : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val tx_errs : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val tx_packets : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val tx_bytes : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val rx_multicast : (Procfs.Net.Dev.t, bool) Fieldslib.Field.t
              val rx_compressed : (Procfs.Net.Dev.t, bool) Fieldslib.Field.t
              val rx_frame : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val rx_fifo : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val rx_drop : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val rx_errs : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val rx_packets : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val rx_bytes : (Procfs.Net.Dev.t, int) Fieldslib.Field.t
              val iface : (Procfs.Net.Dev.t, string) Fieldslib.Field.t
              val fold :
                init:'acc__ ->
                iface:('acc__ ->
                       (Procfs.Net.Dev.t, string) Fieldslib.Field.t -> 'acc__) ->
                rx_bytes:('acc__ ->
                          (Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'acc__) ->
                rx_packets:('acc__ ->
                            (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                            'acc__) ->
                rx_errs:('acc__ ->
                         (Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'acc__) ->
                rx_drop:('acc__ ->
                         (Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'acc__) ->
                rx_fifo:('acc__ ->
                         (Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'acc__) ->
                rx_frame:('acc__ ->
                          (Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'acc__) ->
                rx_compressed:('acc__ ->
                               (Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               'acc__) ->
                rx_multicast:('acc__ ->
                              (Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                              'acc__) ->
                tx_bytes:('acc__ ->
                          (Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'acc__) ->
                tx_packets:('acc__ ->
                            (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                            'acc__) ->
                tx_errs:('acc__ ->
                         (Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'acc__) ->
                tx_drop:('acc__ ->
                         (Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'acc__) ->
                tx_fifo:('acc__ ->
                         (Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'acc__) ->
                tx_colls:('acc__ ->
                          (Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'acc__) ->
                tx_carrier:('acc__ ->
                            (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                            'acc__) ->
                tx_compressed:('acc__ ->
                               (Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               'acc__) ->
                'acc__
              val make_creator :
                iface:((Procfs.Net.Dev.t, string) Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> string) * 'compile_acc__) ->
                rx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> int) * 'compile_acc__) ->
                rx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                            'compile_acc__ ->
                            ('input__ -> int) * 'compile_acc__) ->
                rx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                rx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                rx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                rx_frame:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> int) * 'compile_acc__) ->
                rx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               'compile_acc__ ->
                               ('input__ -> bool) * 'compile_acc__) ->
                rx_multicast:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                              'compile_acc__ ->
                              ('input__ -> bool) * 'compile_acc__) ->
                tx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> int) * 'compile_acc__) ->
                tx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                            'compile_acc__ ->
                            ('input__ -> int) * 'compile_acc__) ->
                tx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                tx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                tx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                tx_colls:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                          'compile_acc__ ->
                          ('input__ -> int) * 'compile_acc__) ->
                tx_carrier:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                            'compile_acc__ ->
                            ('input__ -> int) * 'compile_acc__) ->
                tx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               'compile_acc__ ->
                               ('input__ -> bool) * 'compile_acc__) ->
                'compile_acc__ ->
                ('input__ -> Procfs.Net.Dev.t) * 'compile_acc__
              val create :
                iface:string ->
                rx_bytes:int ->
                rx_packets:int ->
                rx_errs:int ->
                rx_drop:int ->
                rx_fifo:int ->
                rx_frame:int ->
                rx_compressed:bool ->
                rx_multicast:bool ->
                tx_bytes:int ->
                tx_packets:int ->
                tx_errs:int ->
                tx_drop:int ->
                tx_fifo:int ->
                tx_colls:int ->
                tx_carrier:int -> tx_compressed:bool -> Procfs.Net.Dev.t
              val iter :
                iface:((Procfs.Net.Dev.t, string) Fieldslib.Field.t -> unit) ->
                rx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                rx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                rx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                rx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                rx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                rx_frame:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                rx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               unit) ->
                rx_multicast:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                              unit) ->
                tx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                tx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                tx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                tx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                tx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                tx_colls:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                tx_carrier:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> unit) ->
                tx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               unit) ->
                unit
              val map :
                iface:((Procfs.Net.Dev.t, string) Fieldslib.Field.t -> string) ->
                rx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                rx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                rx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                rx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                rx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                rx_frame:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                rx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               bool) ->
                rx_multicast:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                              bool) ->
                tx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                tx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                tx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                tx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                tx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                tx_colls:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                tx_carrier:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> int) ->
                tx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               bool) ->
                Procfs.Net.Dev.t
              val map_poly :
                (Procfs.Net.Dev.t, 'x0) Fieldslib.Field.user -> 'x0 list
              val for_all :
                iface:((Procfs.Net.Dev.t, string) Fieldslib.Field.t -> bool) ->
                rx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                rx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                rx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                rx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                rx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                rx_frame:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                rx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               bool) ->
                rx_multicast:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                              bool) ->
                tx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_colls:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_carrier:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               bool) ->
                bool
              val exists :
                iface:((Procfs.Net.Dev.t, string) Fieldslib.Field.t -> bool) ->
                rx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                rx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                rx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                rx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                rx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                rx_frame:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                rx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               bool) ->
                rx_multicast:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                              bool) ->
                tx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_colls:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_carrier:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> bool) ->
                tx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               bool) ->
                bool
              val to_list :
                iface:((Procfs.Net.Dev.t, string) Fieldslib.Field.t ->
                       'elem__) ->
                rx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                          'elem__) ->
                rx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                            'elem__) ->
                rx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'elem__) ->
                rx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'elem__) ->
                rx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'elem__) ->
                rx_frame:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                          'elem__) ->
                rx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               'elem__) ->
                rx_multicast:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                              'elem__) ->
                tx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                          'elem__) ->
                tx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                            'elem__) ->
                tx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'elem__) ->
                tx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'elem__) ->
                tx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t -> 'elem__) ->
                tx_colls:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                          'elem__) ->
                tx_carrier:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                            'elem__) ->
                tx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                               'elem__) ->
                'elem__ list
              module Direct :
                sig
                  val iter :
                    Procfs.Net.Dev.t ->
                    iface:((Procfs.Net.Dev.t, string) Fieldslib.Field.t ->
                           Procfs.Net.Dev.t -> string -> unit) ->
                    rx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                              Procfs.Net.Dev.t -> int -> unit) ->
                    rx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                                Procfs.Net.Dev.t -> int -> unit) ->
                    rx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                             Procfs.Net.Dev.t -> int -> unit) ->
                    rx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                             Procfs.Net.Dev.t -> int -> unit) ->
                    rx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                             Procfs.Net.Dev.t -> int -> unit) ->
                    rx_frame:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                              Procfs.Net.Dev.t -> int -> unit) ->
                    rx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                                   Procfs.Net.Dev.t -> bool -> unit) ->
                    rx_multicast:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                                  Procfs.Net.Dev.t -> bool -> unit) ->
                    tx_bytes:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                              Procfs.Net.Dev.t -> int -> unit) ->
                    tx_packets:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                                Procfs.Net.Dev.t -> int -> unit) ->
                    tx_errs:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                             Procfs.Net.Dev.t -> int -> unit) ->
                    tx_drop:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                             Procfs.Net.Dev.t -> int -> unit) ->
                    tx_fifo:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                             Procfs.Net.Dev.t -> int -> unit) ->
                    tx_colls:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                              Procfs.Net.Dev.t -> int -> unit) ->
                    tx_carrier:((Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                                Procfs.Net.Dev.t -> int -> unit) ->
                    tx_compressed:((Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                                   Procfs.Net.Dev.t -> bool -> unit) ->
                    unit
                  val fold :
                    Procfs.Net.Dev.t ->
                    init:'acc__ ->
                    iface:('acc__ ->
                           (Procfs.Net.Dev.t, string) Fieldslib.Field.t ->
                           Procfs.Net.Dev.t -> string -> 'acc__) ->
                    rx_bytes:('acc__ ->
                              (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                              Procfs.Net.Dev.t -> int -> 'acc__) ->
                    rx_packets:('acc__ ->
                                (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                                Procfs.Net.Dev.t -> int -> 'acc__) ->
                    rx_errs:('acc__ ->
                             (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                             Procfs.Net.Dev.t -> int -> 'acc__) ->
                    rx_drop:('acc__ ->
                             (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                             Procfs.Net.Dev.t -> int -> 'acc__) ->
                    rx_fifo:('acc__ ->
                             (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                             Procfs.Net.Dev.t -> int -> 'acc__) ->
                    rx_frame:('acc__ ->
                              (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                              Procfs.Net.Dev.t -> int -> 'acc__) ->
                    rx_compressed:('acc__ ->
                                   (Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                                   Procfs.Net.Dev.t -> bool -> 'acc__) ->
                    rx_multicast:('acc__ ->
                                  (Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                                  Procfs.Net.Dev.t -> bool -> 'acc__) ->
                    tx_bytes:('acc__ ->
                              (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                              Procfs.Net.Dev.t -> int -> 'acc__) ->
                    tx_packets:('acc__ ->
                                (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                                Procfs.Net.Dev.t -> int -> 'acc__) ->
                    tx_errs:('acc__ ->
                             (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                             Procfs.Net.Dev.t -> int -> 'acc__) ->
                    tx_drop:('acc__ ->
                             (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                             Procfs.Net.Dev.t -> int -> 'acc__) ->
                    tx_fifo:('acc__ ->
                             (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                             Procfs.Net.Dev.t -> int -> 'acc__) ->
                    tx_colls:('acc__ ->
                              (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                              Procfs.Net.Dev.t -> int -> 'acc__) ->
                    tx_carrier:('acc__ ->
                                (Procfs.Net.Dev.t, int) Fieldslib.Field.t ->
                                Procfs.Net.Dev.t -> int -> 'acc__) ->
                    tx_compressed:('acc__ ->
                                   (Procfs.Net.Dev.t, bool) Fieldslib.Field.t ->
                                   Procfs.Net.Dev.t -> bool -> 'acc__) ->
                    'acc__
                end
            end
          val interfaces : unit -> string list
          val of_string : string -> Procfs.Net.Dev.t option
        end
      module Route :
        sig
          type t = {
            iface : string;
            destination : Core.Std.Unix.Inet_addr.t;
            gateway : Core.Std.Unix.Inet_addr.t;
            flags : int;
            refcnt : int;
            use : int;
            metric : int;
            mask : Core.Std.Unix.Inet_addr.t;
            mtu : int;
            window : int;
            irtt : int;
          }
          val irtt : Procfs.Net.Route.t -> int
          val window : Procfs.Net.Route.t -> int
          val mtu : Procfs.Net.Route.t -> int
          val mask : Procfs.Net.Route.t -> Core.Std.Unix.Inet_addr.t
          val metric : Procfs.Net.Route.t -> int
          val use : Procfs.Net.Route.t -> int
          val refcnt : Procfs.Net.Route.t -> int
          val flags : Procfs.Net.Route.t -> int
          val gateway : Procfs.Net.Route.t -> Core.Std.Unix.Inet_addr.t
          val destination : Procfs.Net.Route.t -> Core.Std.Unix.Inet_addr.t
          val iface : Procfs.Net.Route.t -> string
          module Fields :
            sig
              val names : string list
              val irtt : (Procfs.Net.Route.t, int) Fieldslib.Field.t
              val window : (Procfs.Net.Route.t, int) Fieldslib.Field.t
              val mtu : (Procfs.Net.Route.t, int) Fieldslib.Field.t
              val mask :
                (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                Fieldslib.Field.t
              val metric : (Procfs.Net.Route.t, int) Fieldslib.Field.t
              val use : (Procfs.Net.Route.t, int) Fieldslib.Field.t
              val refcnt : (Procfs.Net.Route.t, int) Fieldslib.Field.t
              val flags : (Procfs.Net.Route.t, int) Fieldslib.Field.t
              val gateway :
                (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                Fieldslib.Field.t
              val destination :
                (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                Fieldslib.Field.t
              val iface : (Procfs.Net.Route.t, string) Fieldslib.Field.t
              val fold :
                init:'acc__ ->
                iface:('acc__ ->
                       (Procfs.Net.Route.t, string) Fieldslib.Field.t ->
                       'acc__) ->
                destination:('acc__ ->
                             (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                             Fieldslib.Field.t -> 'acc__) ->
                gateway:('acc__ ->
                         (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                         Fieldslib.Field.t -> 'acc__) ->
                flags:('acc__ ->
                       (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
                refcnt:('acc__ ->
                        (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
                use:('acc__ ->
                     (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
                metric:('acc__ ->
                        (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
                mask:('acc__ ->
                      (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                      Fieldslib.Field.t -> 'acc__) ->
                mtu:('acc__ ->
                     (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
                window:('acc__ ->
                        (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
                irtt:('acc__ ->
                      (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
                'acc__
              val make_creator :
                iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> string) * 'compile_acc__) ->
                destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                             Fieldslib.Field.t ->
                             'compile_acc__ ->
                             ('input__ -> Core.Std.Unix.Inet_addr.t) *
                             'compile_acc__) ->
                gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                         Fieldslib.Field.t ->
                         'compile_acc__ ->
                         ('input__ -> Core.Std.Unix.Inet_addr.t) *
                         'compile_acc__) ->
                flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                       'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                        'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                use:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                     'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                        'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                      Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Core.Std.Unix.Inet_addr.t) *
                      'compile_acc__) ->
                mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                     'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                window:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                        'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                      'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
                'compile_acc__ ->
                ('input__ -> Procfs.Net.Route.t) * 'compile_acc__
              val create :
                iface:string ->
                destination:Core.Std.Unix.Inet_addr.t ->
                gateway:Core.Std.Unix.Inet_addr.t ->
                flags:int ->
                refcnt:int ->
                use:int ->
                metric:int ->
                mask:Core.Std.Unix.Inet_addr.t ->
                mtu:int -> window:int -> irtt:int -> Procfs.Net.Route.t
              val iter :
                iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t -> unit) ->
                destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                             Fieldslib.Field.t -> unit) ->
                gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                         Fieldslib.Field.t -> unit) ->
                flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
                refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
                use:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
                metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
                mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                      Fieldslib.Field.t -> unit) ->
                mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
                window:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
                irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
                unit
              val map :
                iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t ->
                       string) ->
                destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                             Fieldslib.Field.t -> Core.Std.Unix.Inet_addr.t) ->
                gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                         Fieldslib.Field.t -> Core.Std.Unix.Inet_addr.t) ->
                flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
                refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
                use:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
                metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
                mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                      Fieldslib.Field.t -> Core.Std.Unix.Inet_addr.t) ->
                mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
                window:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
                irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
                Procfs.Net.Route.t
              val map_poly :
                (Procfs.Net.Route.t, 'x0) Fieldslib.Field.user -> 'x0 list
              val for_all :
                iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t -> bool) ->
                destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                             Fieldslib.Field.t -> bool) ->
                gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                         Fieldslib.Field.t -> bool) ->
                flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                use:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                      Fieldslib.Field.t -> bool) ->
                mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                window:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                bool
              val exists :
                iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t -> bool) ->
                destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                             Fieldslib.Field.t -> bool) ->
                gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                         Fieldslib.Field.t -> bool) ->
                flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                use:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                      Fieldslib.Field.t -> bool) ->
                mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                window:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
                bool
              val to_list :
                iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t ->
                       'elem__) ->
                destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                             Fieldslib.Field.t -> 'elem__) ->
                gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                         Fieldslib.Field.t -> 'elem__) ->
                flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'elem__) ->
                refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                        'elem__) ->
                use:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'elem__) ->
                metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                        'elem__) ->
                mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                      Fieldslib.Field.t -> 'elem__) ->
                mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'elem__) ->
                window:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                        'elem__) ->
                irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'elem__) ->
                'elem__ list
              module Direct :
                sig
                  val iter :
                    Procfs.Net.Route.t ->
                    iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t ->
                           Procfs.Net.Route.t -> string -> unit) ->
                    destination:((Procfs.Net.Route.t,
                                  Core.Std.Unix.Inet_addr.t)
                                 Fieldslib.Field.t ->
                                 Procfs.Net.Route.t ->
                                 Core.Std.Unix.Inet_addr.t -> unit) ->
                    gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                             Fieldslib.Field.t ->
                             Procfs.Net.Route.t ->
                             Core.Std.Unix.Inet_addr.t -> unit) ->
                    flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                           Procfs.Net.Route.t -> int -> unit) ->
                    refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                            Procfs.Net.Route.t -> int -> unit) ->
                    use:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                         Procfs.Net.Route.t -> int -> unit) ->
                    metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                            Procfs.Net.Route.t -> int -> unit) ->
                    mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                          Fieldslib.Field.t ->
                          Procfs.Net.Route.t ->
                          Core.Std.Unix.Inet_addr.t -> unit) ->
                    mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                         Procfs.Net.Route.t -> int -> unit) ->
                    window:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                            Procfs.Net.Route.t -> int -> unit) ->
                    irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                          Procfs.Net.Route.t -> int -> unit) ->
                    unit
                  val fold :
                    Procfs.Net.Route.t ->
                    init:'acc__ ->
                    iface:('acc__ ->
                           (Procfs.Net.Route.t, string) Fieldslib.Field.t ->
                           Procfs.Net.Route.t -> string -> 'acc__) ->
                    destination:('acc__ ->
                                 (Procfs.Net.Route.t,
                                  Core.Std.Unix.Inet_addr.t)
                                 Fieldslib.Field.t ->
                                 Procfs.Net.Route.t ->
                                 Core.Std.Unix.Inet_addr.t -> 'acc__) ->
                    gateway:('acc__ ->
                             (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                             Fieldslib.Field.t ->
                             Procfs.Net.Route.t ->
                             Core.Std.Unix.Inet_addr.t -> 'acc__) ->
                    flags:('acc__ ->
                           (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                           Procfs.Net.Route.t -> int -> 'acc__) ->
                    refcnt:('acc__ ->
                            (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                            Procfs.Net.Route.t -> int -> 'acc__) ->
                    use:('acc__ ->
                         (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                         Procfs.Net.Route.t -> int -> 'acc__) ->
                    metric:('acc__ ->
                            (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                            Procfs.Net.Route.t -> int -> 'acc__) ->
                    mask:('acc__ ->
                          (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                          Fieldslib.Field.t ->
                          Procfs.Net.Route.t ->
                          Core.Std.Unix.Inet_addr.t -> 'acc__) ->
                    mtu:('acc__ ->
                         (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                         Procfs.Net.Route.t -> int -> 'acc__) ->
                    window:('acc__ ->
                            (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                            Procfs.Net.Route.t -> int -> 'acc__) ->
                    irtt:('acc__ ->
                          (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                          Procfs.Net.Route.t -> int -> 'acc__) ->
                    'acc__
                end
            end
          val default : unit -> Core.Std.Unix.Inet_addr.t
        end
    end
  module Mount :
    sig
      type t = {
        spec : string;
        file : string;
        vfstype : string;
        mntops : string list;
        freq : int;
        passno : int;
      }
      val passno : Procfs.Mount.t -> int
      val freq : Procfs.Mount.t -> int
      val mntops : Procfs.Mount.t -> string list
      val vfstype : Procfs.Mount.t -> string
      val file : Procfs.Mount.t -> string
      val spec : Procfs.Mount.t -> string
      module Fields :
        sig
          val names : string list
          val passno : (Procfs.Mount.t, int) Fieldslib.Field.t
          val freq : (Procfs.Mount.t, int) Fieldslib.Field.t
          val mntops : (Procfs.Mount.t, string list) Fieldslib.Field.t
          val vfstype : (Procfs.Mount.t, string) Fieldslib.Field.t
          val file : (Procfs.Mount.t, string) Fieldslib.Field.t
          val spec : (Procfs.Mount.t, string) Fieldslib.Field.t
          val fold :
            init:'acc__ ->
            spec:('acc__ ->
                  (Procfs.Mount.t, string) Fieldslib.Field.t -> 'acc__) ->
            file:('acc__ ->
                  (Procfs.Mount.t, string) Fieldslib.Field.t -> 'acc__) ->
            vfstype:('acc__ ->
                     (Procfs.Mount.t, string) Fieldslib.Field.t -> 'acc__) ->
            mntops:('acc__ ->
                    (Procfs.Mount.t, string list) Fieldslib.Field.t -> 'acc__) ->
            freq:('acc__ -> (Procfs.Mount.t, int) Fieldslib.Field.t -> 'acc__) ->
            passno:('acc__ ->
                    (Procfs.Mount.t, int) Fieldslib.Field.t -> 'acc__) ->
            'acc__
          val make_creator :
            spec:((Procfs.Mount.t, string) Fieldslib.Field.t ->
                  'compile_acc__ -> ('input__ -> string) * 'compile_acc__) ->
            file:((Procfs.Mount.t, string) Fieldslib.Field.t ->
                  'compile_acc__ -> ('input__ -> string) * 'compile_acc__) ->
            vfstype:((Procfs.Mount.t, string) Fieldslib.Field.t ->
                     'compile_acc__ -> ('input__ -> string) * 'compile_acc__) ->
            mntops:((Procfs.Mount.t, string list) Fieldslib.Field.t ->
                    'compile_acc__ ->
                    ('input__ -> string list) * 'compile_acc__) ->
            freq:((Procfs.Mount.t, int) Fieldslib.Field.t ->
                  'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
            passno:((Procfs.Mount.t, int) Fieldslib.Field.t ->
                    'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
            'compile_acc__ -> ('input__ -> Procfs.Mount.t) * 'compile_acc__
          val create :
            spec:string ->
            file:string ->
            vfstype:string ->
            mntops:string list -> freq:int -> passno:int -> Procfs.Mount.t
          val iter :
            spec:((Procfs.Mount.t, string) Fieldslib.Field.t -> unit) ->
            file:((Procfs.Mount.t, string) Fieldslib.Field.t -> unit) ->
            vfstype:((Procfs.Mount.t, string) Fieldslib.Field.t -> unit) ->
            mntops:((Procfs.Mount.t, string list) Fieldslib.Field.t -> unit) ->
            freq:((Procfs.Mount.t, int) Fieldslib.Field.t -> unit) ->
            passno:((Procfs.Mount.t, int) Fieldslib.Field.t -> unit) -> unit
          val map :
            spec:((Procfs.Mount.t, string) Fieldslib.Field.t -> string) ->
            file:((Procfs.Mount.t, string) Fieldslib.Field.t -> string) ->
            vfstype:((Procfs.Mount.t, string) Fieldslib.Field.t -> string) ->
            mntops:((Procfs.Mount.t, string list) Fieldslib.Field.t ->
                    string list) ->
            freq:((Procfs.Mount.t, int) Fieldslib.Field.t -> int) ->
            passno:((Procfs.Mount.t, int) Fieldslib.Field.t -> int) ->
            Procfs.Mount.t
          val map_poly :
            (Procfs.Mount.t, 'x0) Fieldslib.Field.user -> 'x0 list
          val for_all :
            spec:((Procfs.Mount.t, string) Fieldslib.Field.t -> bool) ->
            file:((Procfs.Mount.t, string) Fieldslib.Field.t -> bool) ->
            vfstype:((Procfs.Mount.t, string) Fieldslib.Field.t -> bool) ->
            mntops:((Procfs.Mount.t, string list) Fieldslib.Field.t -> bool) ->
            freq:((Procfs.Mount.t, int) Fieldslib.Field.t -> bool) ->
            passno:((Procfs.Mount.t, int) Fieldslib.Field.t -> bool) -> bool
          val exists :
            spec:((Procfs.Mount.t, string) Fieldslib.Field.t -> bool) ->
            file:((Procfs.Mount.t, string) Fieldslib.Field.t -> bool) ->
            vfstype:((Procfs.Mount.t, string) Fieldslib.Field.t -> bool) ->
            mntops:((Procfs.Mount.t, string list) Fieldslib.Field.t -> bool) ->
            freq:((Procfs.Mount.t, int) Fieldslib.Field.t -> bool) ->
            passno:((Procfs.Mount.t, int) Fieldslib.Field.t -> bool) -> bool
          val to_list :
            spec:((Procfs.Mount.t, string) Fieldslib.Field.t -> 'elem__) ->
            file:((Procfs.Mount.t, string) Fieldslib.Field.t -> 'elem__) ->
            vfstype:((Procfs.Mount.t, string) Fieldslib.Field.t -> 'elem__) ->
            mntops:((Procfs.Mount.t, string list) Fieldslib.Field.t ->
                    'elem__) ->
            freq:((Procfs.Mount.t, int) Fieldslib.Field.t -> 'elem__) ->
            passno:((Procfs.Mount.t, int) Fieldslib.Field.t -> 'elem__) ->
            'elem__ list
          module Direct :
            sig
              val iter :
                Procfs.Mount.t ->
                spec:((Procfs.Mount.t, string) Fieldslib.Field.t ->
                      Procfs.Mount.t -> string -> unit) ->
                file:((Procfs.Mount.t, string) Fieldslib.Field.t ->
                      Procfs.Mount.t -> string -> unit) ->
                vfstype:((Procfs.Mount.t, string) Fieldslib.Field.t ->
                         Procfs.Mount.t -> string -> unit) ->
                mntops:((Procfs.Mount.t, string list) Fieldslib.Field.t ->
                        Procfs.Mount.t -> string list -> unit) ->
                freq:((Procfs.Mount.t, int) Fieldslib.Field.t ->
                      Procfs.Mount.t -> int -> unit) ->
                passno:((Procfs.Mount.t, int) Fieldslib.Field.t ->
                        Procfs.Mount.t -> int -> unit) ->
                unit
              val fold :
                Procfs.Mount.t ->
                init:'acc__ ->
                spec:('acc__ ->
                      (Procfs.Mount.t, string) Fieldslib.Field.t ->
                      Procfs.Mount.t -> string -> 'acc__) ->
                file:('acc__ ->
                      (Procfs.Mount.t, string) Fieldslib.Field.t ->
                      Procfs.Mount.t -> string -> 'acc__) ->
                vfstype:('acc__ ->
                         (Procfs.Mount.t, string) Fieldslib.Field.t ->
                         Procfs.Mount.t -> string -> 'acc__) ->
                mntops:('acc__ ->
                        (Procfs.Mount.t, string list) Fieldslib.Field.t ->
                        Procfs.Mount.t -> string list -> 'acc__) ->
                freq:('acc__ ->
                      (Procfs.Mount.t, int) Fieldslib.Field.t ->
                      Procfs.Mount.t -> int -> 'acc__) ->
                passno:('acc__ ->
                        (Procfs.Mount.t, int) Fieldslib.Field.t ->
                        Procfs.Mount.t -> int -> 'acc__) ->
                'acc__
            end
        end
    end
  val mounts : unit -> Procfs.Mount.t list
  val mounts_of_fstab : unit -> Procfs.Mount.t list
  val supported_filesystems : unit -> string list
  val uptime : unit -> Core.Std.Time.Span.t
  val bigint_of_sexp : Sexplib.Sexp.t -> Procfs.bigint
  val sexp_of_bigint : Procfs.bigint -> Sexplib.Sexp.t
  val ounit_tests : unit -> OUnit.test
end