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