sig
  val iter :
    Unix_syscalls.Passwd.t ->
    name:((Unix_syscalls.Passwd.t, string) Fieldslib.Field.t ->
          Unix_syscalls.Passwd.t -> string -> unit) ->
    passwd:((Unix_syscalls.Passwd.t, string) Fieldslib.Field.t ->
            Unix_syscalls.Passwd.t -> string -> unit) ->
    uid:((Unix_syscalls.Passwd.t, int) Fieldslib.Field.t ->
         Unix_syscalls.Passwd.t -> int -> unit) ->
    gid:((Unix_syscalls.Passwd.t, int) Fieldslib.Field.t ->
         Unix_syscalls.Passwd.t -> int -> unit) ->
    gecos:((Unix_syscalls.Passwd.t, string) Fieldslib.Field.t ->
           Unix_syscalls.Passwd.t -> string -> unit) ->
    dir:((Unix_syscalls.Passwd.t, string) Fieldslib.Field.t ->
         Unix_syscalls.Passwd.t -> string -> unit) ->
    shell:((Unix_syscalls.Passwd.t, string) Fieldslib.Field.t ->
           Unix_syscalls.Passwd.t -> string -> unit) ->
    unit
  val fold :
    Unix_syscalls.Passwd.t ->
    init:'acc__ ->
    name:('acc__ ->
          (Unix_syscalls.Passwd.t, string) Fieldslib.Field.t ->
          Unix_syscalls.Passwd.t -> string -> 'acc__) ->
    passwd:('acc__ ->
            (Unix_syscalls.Passwd.t, string) Fieldslib.Field.t ->
            Unix_syscalls.Passwd.t -> string -> 'acc__) ->
    uid:('acc__ ->
         (Unix_syscalls.Passwd.t, int) Fieldslib.Field.t ->
         Unix_syscalls.Passwd.t -> int -> 'acc__) ->
    gid:('acc__ ->
         (Unix_syscalls.Passwd.t, int) Fieldslib.Field.t ->
         Unix_syscalls.Passwd.t -> int -> 'acc__) ->
    gecos:('acc__ ->
           (Unix_syscalls.Passwd.t, string) Fieldslib.Field.t ->
           Unix_syscalls.Passwd.t -> string -> 'acc__) ->
    dir:('acc__ ->
         (Unix_syscalls.Passwd.t, string) Fieldslib.Field.t ->
         Unix_syscalls.Passwd.t -> string -> 'acc__) ->
    shell:('acc__ ->
           (Unix_syscalls.Passwd.t, string) Fieldslib.Field.t ->
           Unix_syscalls.Passwd.t -> string -> 'acc__) ->
    'acc__
end