sig
  type t = {
    mem_total : Procfs.bigint;
    mem_free : Procfs.bigint;
    buffers : Procfs.bigint;
    cached : Procfs.bigint;
    swap_cached : Procfs.bigint;
    active : Procfs.bigint;
    inactive : Procfs.bigint;
    swap_total : Procfs.bigint;
    swap_free : Procfs.bigint;
    dirty : Procfs.bigint;
    writeback : Procfs.bigint;
    anon_pages : Procfs.bigint;
    mapped : Procfs.bigint;
    slab : Procfs.bigint;
    page_tables : Procfs.bigint;
    nfs_unstable : Procfs.bigint;
    bounce : Procfs.bigint;
    commit_limit : Procfs.bigint;
    committed_as : Procfs.bigint;
    vmalloc_total : Procfs.bigint;
    vmalloc_used : Procfs.bigint;
    vmalloc_chunk : Procfs.bigint;
  }
  val vmalloc_chunk : Procfs.Meminfo.t -> Procfs.bigint
  val vmalloc_used : Procfs.Meminfo.t -> Procfs.bigint
  val vmalloc_total : Procfs.Meminfo.t -> Procfs.bigint
  val committed_as : Procfs.Meminfo.t -> Procfs.bigint
  val commit_limit : Procfs.Meminfo.t -> Procfs.bigint
  val bounce : Procfs.Meminfo.t -> Procfs.bigint
  val nfs_unstable : Procfs.Meminfo.t -> Procfs.bigint
  val page_tables : Procfs.Meminfo.t -> Procfs.bigint
  val slab : Procfs.Meminfo.t -> Procfs.bigint
  val mapped : Procfs.Meminfo.t -> Procfs.bigint
  val anon_pages : Procfs.Meminfo.t -> Procfs.bigint
  val writeback : Procfs.Meminfo.t -> Procfs.bigint
  val dirty : Procfs.Meminfo.t -> Procfs.bigint
  val swap_free : Procfs.Meminfo.t -> Procfs.bigint
  val swap_total : Procfs.Meminfo.t -> Procfs.bigint
  val inactive : Procfs.Meminfo.t -> Procfs.bigint
  val active : Procfs.Meminfo.t -> Procfs.bigint
  val swap_cached : Procfs.Meminfo.t -> Procfs.bigint
  val cached : Procfs.Meminfo.t -> Procfs.bigint
  val buffers : Procfs.Meminfo.t -> Procfs.bigint
  val mem_free : Procfs.Meminfo.t -> Procfs.bigint
  val mem_total : Procfs.Meminfo.t -> Procfs.bigint
  module Fields :
    sig
      val names : string list
      val vmalloc_chunk : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val vmalloc_used : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val vmalloc_total : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val committed_as : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val commit_limit : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val bounce : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val nfs_unstable : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val page_tables : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val slab : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val mapped : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val anon_pages : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val writeback : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val dirty : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val swap_free : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val swap_total : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val inactive : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val active : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val swap_cached : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val cached : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val buffers : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val mem_free : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val mem_total : (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t
      val fold :
        init:'acc__ ->
        mem_total:('acc__ ->
                   (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   'acc__) ->
        mem_free:('acc__ ->
                  (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  'acc__) ->
        buffers:('acc__ ->
                 (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                 'acc__) ->
        cached:('acc__ ->
                (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> 'acc__) ->
        swap_cached:('acc__ ->
                     (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     'acc__) ->
        active:('acc__ ->
                (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> 'acc__) ->
        inactive:('acc__ ->
                  (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  'acc__) ->
        swap_total:('acc__ ->
                    (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'acc__) ->
        swap_free:('acc__ ->
                   (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   'acc__) ->
        dirty:('acc__ ->
               (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> 'acc__) ->
        writeback:('acc__ ->
                   (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   'acc__) ->
        anon_pages:('acc__ ->
                    (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'acc__) ->
        mapped:('acc__ ->
                (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> 'acc__) ->
        slab:('acc__ ->
              (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> 'acc__) ->
        page_tables:('acc__ ->
                     (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     'acc__) ->
        nfs_unstable:('acc__ ->
                      (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'acc__) ->
        bounce:('acc__ ->
                (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> 'acc__) ->
        commit_limit:('acc__ ->
                      (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'acc__) ->
        committed_as:('acc__ ->
                      (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'acc__) ->
        vmalloc_total:('acc__ ->
                       (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'acc__) ->
        vmalloc_used:('acc__ ->
                      (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'acc__) ->
        vmalloc_chunk:('acc__ ->
                       (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'acc__) ->
        'acc__
      val make_creator :
        mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   'compile_acc__ ->
                   ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  'compile_acc__ ->
                  ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                 'compile_acc__ ->
                 ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                'compile_acc__ ->
                ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     'compile_acc__ ->
                     ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                'compile_acc__ ->
                ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  'compile_acc__ ->
                  ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'compile_acc__ ->
                    ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   'compile_acc__ ->
                   ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
               'compile_acc__ -> ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   'compile_acc__ ->
                   ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'compile_acc__ ->
                    ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                'compile_acc__ ->
                ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
              'compile_acc__ -> ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     'compile_acc__ ->
                     ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                'compile_acc__ ->
                ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'compile_acc__ ->
                      ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'compile_acc__ ->
                       ('input__ -> Procfs.bigint) * 'compile_acc__) ->
        'compile_acc__ -> ('input__ -> Procfs.Meminfo.t) * 'compile_acc__
      val create :
        mem_total:Procfs.bigint ->
        mem_free:Procfs.bigint ->
        buffers:Procfs.bigint ->
        cached:Procfs.bigint ->
        swap_cached:Procfs.bigint ->
        active:Procfs.bigint ->
        inactive:Procfs.bigint ->
        swap_total:Procfs.bigint ->
        swap_free:Procfs.bigint ->
        dirty:Procfs.bigint ->
        writeback:Procfs.bigint ->
        anon_pages:Procfs.bigint ->
        mapped:Procfs.bigint ->
        slab:Procfs.bigint ->
        page_tables:Procfs.bigint ->
        nfs_unstable:Procfs.bigint ->
        bounce:Procfs.bigint ->
        commit_limit:Procfs.bigint ->
        committed_as:Procfs.bigint ->
        vmalloc_total:Procfs.bigint ->
        vmalloc_used:Procfs.bigint ->
        vmalloc_chunk:Procfs.bigint -> Procfs.Meminfo.t
      val iter :
        mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   unit) ->
        mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> unit) ->
        buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> unit) ->
        cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> unit) ->
        swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     unit) ->
        active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> unit) ->
        inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> unit) ->
        swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    unit) ->
        swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   unit) ->
        dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> unit) ->
        writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   unit) ->
        anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    unit) ->
        mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> unit) ->
        slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> unit) ->
        page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     unit) ->
        nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      unit) ->
        bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> unit) ->
        commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      unit) ->
        committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      unit) ->
        vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       unit) ->
        vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      unit) ->
        vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       unit) ->
        unit
      val map :
        mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   Procfs.bigint) ->
        mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  Procfs.bigint) ->
        buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                 Procfs.bigint) ->
        cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                Procfs.bigint) ->
        swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     Procfs.bigint) ->
        active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                Procfs.bigint) ->
        inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  Procfs.bigint) ->
        swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.bigint) ->
        swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   Procfs.bigint) ->
        dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
               Procfs.bigint) ->
        writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   Procfs.bigint) ->
        anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.bigint) ->
        mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                Procfs.bigint) ->
        slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
              Procfs.bigint) ->
        page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     Procfs.bigint) ->
        nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      Procfs.bigint) ->
        bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                Procfs.bigint) ->
        commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      Procfs.bigint) ->
        committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      Procfs.bigint) ->
        vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.bigint) ->
        vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      Procfs.bigint) ->
        vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.bigint) ->
        Procfs.Meminfo.t
      val map_poly : (Procfs.Meminfo.t, 'x0) Fieldslib.Field.user -> 'x0 list
      val for_all :
        mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   bool) ->
        mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     bool) ->
        active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
        swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   bool) ->
        dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   bool) ->
        anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
        mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     bool) ->
        nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      bool) ->
        bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      bool) ->
        committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      bool) ->
        vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       bool) ->
        vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      bool) ->
        vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       bool) ->
        bool
      val exists :
        mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   bool) ->
        mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     bool) ->
        active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
        swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   bool) ->
        dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   bool) ->
        anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    bool) ->
        mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     bool) ->
        nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      bool) ->
        bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> bool) ->
        commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      bool) ->
        committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      bool) ->
        vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       bool) ->
        vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      bool) ->
        vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       bool) ->
        bool
      val to_list :
        mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   'elem__) ->
        mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  'elem__) ->
        buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                 'elem__) ->
        cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                'elem__) ->
        swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     'elem__) ->
        active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                'elem__) ->
        inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  'elem__) ->
        swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'elem__) ->
        swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   'elem__) ->
        dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> 'elem__) ->
        writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   'elem__) ->
        anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    'elem__) ->
        mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                'elem__) ->
        slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t -> 'elem__) ->
        page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     'elem__) ->
        nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'elem__) ->
        bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                'elem__) ->
        commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'elem__) ->
        committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'elem__) ->
        vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'elem__) ->
        vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      'elem__) ->
        vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       'elem__) ->
        'elem__ list
      module Direct :
        sig
          val iter :
            Procfs.Meminfo.t ->
            mem_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            mem_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            buffers:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            swap_cached:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            active:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            inactive:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            swap_total:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            swap_free:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            dirty:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            writeback:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            anon_pages:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            mapped:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            slab:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            page_tables:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            nfs_unstable:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            bounce:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            commit_limit:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            committed_as:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            vmalloc_total:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            vmalloc_used:((Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            vmalloc_chunk:((Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Meminfo.t -> Procfs.bigint -> unit) ->
            unit
          val fold :
            Procfs.Meminfo.t ->
            init:'acc__ ->
            mem_total:('acc__ ->
                       (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            mem_free:('acc__ ->
                      (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            buffers:('acc__ ->
                     (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                     Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            cached:('acc__ ->
                    (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            swap_cached:('acc__ ->
                         (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            active:('acc__ ->
                    (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            inactive:('acc__ ->
                      (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                      Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            swap_total:('acc__ ->
                        (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            swap_free:('acc__ ->
                       (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            dirty:('acc__ ->
                   (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                   Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            writeback:('acc__ ->
                       (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                       Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            anon_pages:('acc__ ->
                        (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                        Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            mapped:('acc__ ->
                    (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            slab:('acc__ ->
                  (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                  Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            page_tables:('acc__ ->
                         (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                         Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            nfs_unstable:('acc__ ->
                          (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            bounce:('acc__ ->
                    (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                    Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            commit_limit:('acc__ ->
                          (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            committed_as:('acc__ ->
                          (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            vmalloc_total:('acc__ ->
                           (Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            vmalloc_used:('acc__ ->
                          (Procfs.Meminfo.t, Procfs.bigint) Fieldslib.Field.t ->
                          Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            vmalloc_chunk:('acc__ ->
                           (Procfs.Meminfo.t, Procfs.bigint)
                           Fieldslib.Field.t ->
                           Procfs.Meminfo.t -> Procfs.bigint -> 'acc__) ->
            'acc__
        end
    end
  val t_of_sexp : Sexplib.Sexp.t -> Procfs.Meminfo.t
  val sexp_of_t : Procfs.Meminfo.t -> Sexplib.Sexp.t
end