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 sexp_of_t : Procfs.Process.Statm.t -> Sexplib.Sexp.t
  val t_of_sexp : Sexplib.Sexp.t -> Procfs.Process.Statm.t
  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
end