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