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