sig
  val name : < passwd : Line.present; .. > Line.t -> string
  val set_name :
    string -> (< passwd : Line.present; .. > as 'a) Line.t -> 'Line.t
  val passwd : < passwd : Line.present; .. > Line.t -> string
  val set_passwd :
    string -> (< passwd : Line.present; .. > as 'a) Line.t -> 'Line.t
  val uid : < passwd : Line.present; .. > Line.t -> int
  val set_uid :
    int -> (< passwd : Line.present; .. > as 'a) Line.t -> 'Line.t
  val gid : < passwd : Line.present; .. > Line.t -> int
  val set_gid :
    int -> (< passwd : Line.present; .. > as 'a) Line.t -> 'Line.t
  val gecos : < passwd : Line.present; .. > Line.t -> string
  val set_gecos :
    string -> (< passwd : Line.present; .. > as 'a) Line.t -> 'Line.t
  val home : < passwd : Line.present; .. > Line.t -> string
  val set_home :
    string -> (< passwd : Line.present; .. > as 'a) Line.t -> 'Line.t
  val shell : < passwd : Line.present; .. > Line.t -> string
  val set_shell :
    string -> (< passwd : Line.present; .. > as 'a) Line.t -> 'Line.t
  val create :
    name:string ->
    passwd:string ->
    uid:int ->
    gid:int ->
    gecos:string ->
    home:string ->
    shell:string ->
    < delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
      passwd : Line.absent; ps : 'f; seq : 'g; source : 'h; stat : 'i >
    Line.t ->
    < delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
      passwd : Line.present; ps : 'f; seq : 'g; source : 'h; stat : 'i >
    Line.t
end