sig
  val key : < key_value : < .. >; .. > Line.t -> string
  val set_key :
    string -> (< key_value : < .. >; .. > as 'a) Line.t -> 'Line.t
  val value : < key_value : < .. >; .. > Line.t -> string
  val set_value :
    string -> (< key_value : < .. >; .. > as 'a) Line.t -> 'Line.t
  val as_int : < key_value : < .. >; .. > Line.t -> int option
  val as_float : < key_value : < .. >; .. > Line.t -> float option
  val as_bool : < key_value : < .. >; .. > Line.t -> bool option
  val as_string : ?quoted:bool -> < key_value : < .. >; .. > Line.t -> string
  val as_list :
    ?delim:char -> < key_value : < .. >; .. > Line.t -> string list
  val section :
    < key_value : < section : Line.present; .. >; .. > Line.t -> string
  val set_section :
    string ->
    < delim : 'a; fstab : 'b; group : 'c; key_value : < section : 'd >;
      mailcap : 'e; passwd : 'f; ps : 'g; seq : 'h; source : 'i; stat : 'j >
    Line.t ->
    < delim : 'a; fstab : 'b; group : 'c;
      key_value : < section : Line.present >; mailcap : 'e; passwd : 'f;
      ps : 'g; seq : 'h; source : 'i; stat : 'j >
    Line.t
  val create :
    key:string ->
    value:string ->
    < delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
      mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >
    Line.t ->
    < delim : 'a; fstab : 'b; group : 'c;
      key_value : < section : Line.absent >; mailcap : 'd; passwd : 'e;
      ps : 'f; seq : 'g; source : 'h; stat : 'i >
    Line.t
end