sig
  val content_type : < mailcap : Line.present; .. > Line.t -> string
  val set_content_type :
    string -> (< mailcap : Line.present; .. > as 'a) Line.t -> 'Line.t
  val command : < mailcap : Line.present; .. > Line.t -> string
  val set_command :
    string -> (< mailcap : Line.present; .. > as 'a) Line.t -> 'Line.t
  val flags : < mailcap : Line.present; .. > Line.t -> string list
  val set_flags :
    string list -> (< mailcap : Line.present; .. > as 'a) Line.t -> 'Line.t
  val fields :
    < mailcap : Line.present; .. > Line.t -> (string * string) list
  val set_fields :
    (string * string) list ->
    (< mailcap : Line.present; .. > as 'a) Line.t -> 'Line.t
  val create :
    content_type:string ->
    command:string ->
    flags:string list ->
    fields:(string * string) list ->
    < delim : 'a; fstab : 'b; group : 'c; key_value : 'd;
      mailcap : Line.absent; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
      stat : 'i >
    Line.t ->
    < delim : 'a; fstab : 'b; group : 'c; key_value : 'd;
      mailcap : Line.present; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
      stat : 'i >
    Line.t
end