sig
  val names : string list
  val ctime : (Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t
  val mtime : (Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t
  val atime : (Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t
  val size : (Unix_syscalls.Stats.t, int64) Fieldslib.Field.t
  val rdev : (Unix_syscalls.Stats.t, int) Fieldslib.Field.t
  val gid : (Unix_syscalls.Stats.t, int) Fieldslib.Field.t
  val uid : (Unix_syscalls.Stats.t, int) Fieldslib.Field.t
  val nlink : (Unix_syscalls.Stats.t, int) Fieldslib.Field.t
  val perm :
    (Unix_syscalls.Stats.t, Unix_syscalls.file_perm) Fieldslib.Field.t
  val kind :
    (Unix_syscalls.Stats.t, Unix_syscalls.File_kind.t) Fieldslib.Field.t
  val ino : (Unix_syscalls.Stats.t, int) Fieldslib.Field.t
  val dev : (Unix_syscalls.Stats.t, int) Fieldslib.Field.t
  val fold :
    init:'acc__ ->
    dev:('acc__ -> (Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> 'acc__) ->
    ino:('acc__ -> (Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> 'acc__) ->
    kind:('acc__ ->
          (Unix_syscalls.Stats.t, Unix_syscalls.File_kind.t)
          Fieldslib.Field.t -> 'acc__) ->
    perm:('acc__ ->
          (Unix_syscalls.Stats.t, Unix_syscalls.file_perm) Fieldslib.Field.t ->
          'acc__) ->
    nlink:('acc__ -> (Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> 'acc__) ->
    uid:('acc__ -> (Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> 'acc__) ->
    gid:('acc__ -> (Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> 'acc__) ->
    rdev:('acc__ -> (Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> 'acc__) ->
    size:('acc__ ->
          (Unix_syscalls.Stats.t, int64) Fieldslib.Field.t -> 'acc__) ->
    atime:('acc__ ->
           (Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
           'acc__) ->
    mtime:('acc__ ->
           (Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
           'acc__) ->
    ctime:('acc__ ->
           (Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
           'acc__) ->
    'acc__
  val make_creator :
    dev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    ino:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    kind:((Unix_syscalls.Stats.t, Unix_syscalls.File_kind.t)
          Fieldslib.Field.t ->
          'compile_acc__ ->
          ('input__ -> Unix_syscalls.File_kind.t) * 'compile_acc__) ->
    perm:((Unix_syscalls.Stats.t, Unix_syscalls.file_perm) Fieldslib.Field.t ->
          'compile_acc__ ->
          ('input__ -> Unix_syscalls.file_perm) * 'compile_acc__) ->
    nlink:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
           'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    uid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    gid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    rdev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
          'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    size:((Unix_syscalls.Stats.t, int64) Fieldslib.Field.t ->
          'compile_acc__ -> ('input__ -> int64) * 'compile_acc__) ->
    atime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
           'compile_acc__ -> ('input__ -> Core.Std.Time.t) * 'compile_acc__) ->
    mtime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
           'compile_acc__ -> ('input__ -> Core.Std.Time.t) * 'compile_acc__) ->
    ctime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
           'compile_acc__ -> ('input__ -> Core.Std.Time.t) * 'compile_acc__) ->
    'compile_acc__ -> ('input__ -> Unix_syscalls.Stats.t) * 'compile_acc__
  val create :
    dev:int ->
    ino:int ->
    kind:Unix_syscalls.File_kind.t ->
    perm:Unix_syscalls.file_perm ->
    nlink:int ->
    uid:int ->
    gid:int ->
    rdev:int ->
    size:int64 ->
    atime:Core.Std.Time.t ->
    mtime:Core.Std.Time.t -> ctime:Core.Std.Time.t -> Unix_syscalls.Stats.t
  val map :
    dev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> int) ->
    ino:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> int) ->
    kind:((Unix_syscalls.Stats.t, Unix_syscalls.File_kind.t)
          Fieldslib.Field.t -> Unix_syscalls.File_kind.t) ->
    perm:((Unix_syscalls.Stats.t, Unix_syscalls.file_perm) Fieldslib.Field.t ->
          Unix_syscalls.file_perm) ->
    nlink:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> int) ->
    uid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> int) ->
    gid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> int) ->
    rdev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> int) ->
    size:((Unix_syscalls.Stats.t, int64) Fieldslib.Field.t -> int64) ->
    atime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
           Core.Std.Time.t) ->
    mtime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
           Core.Std.Time.t) ->
    ctime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
           Core.Std.Time.t) ->
    Unix_syscalls.Stats.t
  val iter :
    dev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> unit) ->
    ino:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> unit) ->
    kind:((Unix_syscalls.Stats.t, Unix_syscalls.File_kind.t)
          Fieldslib.Field.t -> unit) ->
    perm:((Unix_syscalls.Stats.t, Unix_syscalls.file_perm) Fieldslib.Field.t ->
          unit) ->
    nlink:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> unit) ->
    uid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> unit) ->
    gid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> unit) ->
    rdev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> unit) ->
    size:((Unix_syscalls.Stats.t, int64) Fieldslib.Field.t -> unit) ->
    atime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t -> unit) ->
    mtime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t -> unit) ->
    ctime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t -> unit) ->
    unit
  val for_all :
    dev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> bool) ->
    ino:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> bool) ->
    kind:((Unix_syscalls.Stats.t, Unix_syscalls.File_kind.t)
          Fieldslib.Field.t -> bool) ->
    perm:((Unix_syscalls.Stats.t, Unix_syscalls.file_perm) Fieldslib.Field.t ->
          bool) ->
    nlink:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> bool) ->
    uid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> bool) ->
    gid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> bool) ->
    rdev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> bool) ->
    size:((Unix_syscalls.Stats.t, int64) Fieldslib.Field.t -> bool) ->
    atime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t -> bool) ->
    mtime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t -> bool) ->
    ctime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t -> bool) ->
    bool
  val exists :
    dev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> bool) ->
    ino:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> bool) ->
    kind:((Unix_syscalls.Stats.t, Unix_syscalls.File_kind.t)
          Fieldslib.Field.t -> bool) ->
    perm:((Unix_syscalls.Stats.t, Unix_syscalls.file_perm) Fieldslib.Field.t ->
          bool) ->
    nlink:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> bool) ->
    uid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> bool) ->
    gid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> bool) ->
    rdev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> bool) ->
    size:((Unix_syscalls.Stats.t, int64) Fieldslib.Field.t -> bool) ->
    atime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t -> bool) ->
    mtime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t -> bool) ->
    ctime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t -> bool) ->
    bool
  val to_list :
    dev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> 'elem__) ->
    ino:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> 'elem__) ->
    kind:((Unix_syscalls.Stats.t, Unix_syscalls.File_kind.t)
          Fieldslib.Field.t -> 'elem__) ->
    perm:((Unix_syscalls.Stats.t, Unix_syscalls.file_perm) Fieldslib.Field.t ->
          'elem__) ->
    nlink:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> 'elem__) ->
    uid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> 'elem__) ->
    gid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> 'elem__) ->
    rdev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t -> 'elem__) ->
    size:((Unix_syscalls.Stats.t, int64) Fieldslib.Field.t -> 'elem__) ->
    atime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
           'elem__) ->
    mtime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
           'elem__) ->
    ctime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
           'elem__) ->
    'elem__ list
  val map_poly :
    ([< `Read | `Set_and_create ], Unix_syscalls.Stats.t, 'x0)
    Fieldslib.Field.user -> 'x0 list
  module Direct :
    sig
      val iter :
        Unix_syscalls.Stats.t ->
        dev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
             Unix_syscalls.Stats.t -> int -> unit) ->
        ino:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
             Unix_syscalls.Stats.t -> int -> unit) ->
        kind:((Unix_syscalls.Stats.t, Unix_syscalls.File_kind.t)
              Fieldslib.Field.t ->
              Unix_syscalls.Stats.t -> Unix_syscalls.File_kind.t -> unit) ->
        perm:((Unix_syscalls.Stats.t, Unix_syscalls.file_perm)
              Fieldslib.Field.t ->
              Unix_syscalls.Stats.t -> Unix_syscalls.file_perm -> unit) ->
        nlink:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
               Unix_syscalls.Stats.t -> int -> unit) ->
        uid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
             Unix_syscalls.Stats.t -> int -> unit) ->
        gid:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
             Unix_syscalls.Stats.t -> int -> unit) ->
        rdev:((Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
              Unix_syscalls.Stats.t -> int -> unit) ->
        size:((Unix_syscalls.Stats.t, int64) Fieldslib.Field.t ->
              Unix_syscalls.Stats.t -> int64 -> unit) ->
        atime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
               Unix_syscalls.Stats.t -> Core.Std.Time.t -> unit) ->
        mtime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
               Unix_syscalls.Stats.t -> Core.Std.Time.t -> unit) ->
        ctime:((Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
               Unix_syscalls.Stats.t -> Core.Std.Time.t -> unit) ->
        unit
      val fold :
        Unix_syscalls.Stats.t ->
        init:'acc__ ->
        dev:('acc__ ->
             (Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
             Unix_syscalls.Stats.t -> int -> 'acc__) ->
        ino:('acc__ ->
             (Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
             Unix_syscalls.Stats.t -> int -> 'acc__) ->
        kind:('acc__ ->
              (Unix_syscalls.Stats.t, Unix_syscalls.File_kind.t)
              Fieldslib.Field.t ->
              Unix_syscalls.Stats.t -> Unix_syscalls.File_kind.t -> 'acc__) ->
        perm:('acc__ ->
              (Unix_syscalls.Stats.t, Unix_syscalls.file_perm)
              Fieldslib.Field.t ->
              Unix_syscalls.Stats.t -> Unix_syscalls.file_perm -> 'acc__) ->
        nlink:('acc__ ->
               (Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
               Unix_syscalls.Stats.t -> int -> 'acc__) ->
        uid:('acc__ ->
             (Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
             Unix_syscalls.Stats.t -> int -> 'acc__) ->
        gid:('acc__ ->
             (Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
             Unix_syscalls.Stats.t -> int -> 'acc__) ->
        rdev:('acc__ ->
              (Unix_syscalls.Stats.t, int) Fieldslib.Field.t ->
              Unix_syscalls.Stats.t -> int -> 'acc__) ->
        size:('acc__ ->
              (Unix_syscalls.Stats.t, int64) Fieldslib.Field.t ->
              Unix_syscalls.Stats.t -> int64 -> 'acc__) ->
        atime:('acc__ ->
               (Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
               Unix_syscalls.Stats.t -> Core.Std.Time.t -> 'acc__) ->
        mtime:('acc__ ->
               (Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
               Unix_syscalls.Stats.t -> Core.Std.Time.t -> 'acc__) ->
        ctime:('acc__ ->
               (Unix_syscalls.Stats.t, Core.Std.Time.t) Fieldslib.Field.t ->
               Unix_syscalls.Stats.t -> Core.Std.Time.t -> 'acc__) ->
        'acc__
    end
end