sig
  type 'a splitter = 'Line.t -> 'Line.t constraint 'a = '-> 'c
  type 'a adaptor = 'Line.t Shtream.t -> 'Line.t Shtream.t
    constraint 'a = '-> 'c
  type 'a fitting_adaptor = unit -> ('Line.t -> 'Line.t) Fitting.t
    constraint 'a = '-> 'c
  val make_adaptor :
    ?reader:Reader.t ->
    ('-> 'b) Adaptor.splitter -> ('-> 'b) Adaptor.adaptor
  module Convert :
    sig
      val convert : (string -> 'a) -> string -> string -> string -> 'a
      val to_int : string -> string -> int
      val to_float : string -> string -> float
    end
  module Delim :
    sig
      val adaptor :
        ?options:Delimited.options ->
        (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : < names : Line.absent; options : Line.present >;
           fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.adaptor
      val fitting :
        ?options:Delimited.options ->
        (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : < names : Line.absent; options : Line.present >;
           fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.fitting_adaptor
      val reader : ?options:Delimited.options -> Reader.t
      val splitter :
        ?options:Delimited.options ->
        (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : < names : Line.absent; options : Line.present >;
           fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.splitter
      module type SPEC = sig val options : Delimited.options end
      module type S =
        sig
          val options : Delimited.options
          val adaptor :
            (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : < names : Line.absent; options : Line.present >;
               fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.adaptor
          val fitting :
            (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : < names : Line.absent; options : Line.present >;
               fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.fitting_adaptor
          val reader : Reader.t
          val splitter :
            (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : < names : Line.absent; options : Line.present >;
               fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.splitter
        end
      module Make : functor (Spec : SPEC-> S
      module type SPEC_NAMES =
        sig val options : Delimited.options val names : string list end
      module type S_NAMES =
        sig
          val options : Delimited.options
          val names : string list
          val adaptor :
            (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : < names : Line.present; options : Line.present >;
               fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.adaptor
          val fitting :
            (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : < names : Line.present; options : Line.present >;
               fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.fitting_adaptor
          val reader : Reader.t
          val splitter :
            (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : < names : Line.present; options : Line.present >;
               fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.splitter
        end
      module Make_names : functor (Spec : SPEC_NAMES-> S_NAMES
    end
  module SimpleFlatFile :
    sig
      val adaptor :
        ?comments:string ->
        ?blanks:bool ->
        ?max:int ->
        char ->
        (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : < names : Line.absent; options : Line.present >;
           fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.adaptor
      val fitting :
        ?comments:string ->
        ?blanks:bool ->
        ?max:int ->
        char ->
        (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : < names : Line.absent; options : Line.present >;
           fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.fitting_adaptor
      val reader : ?comments:string -> ?blanks:bool -> Reader.t
      val splitter :
        ?max:int ->
        char ->
        (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : < names : Line.absent; options : Line.present >;
           fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.splitter
      module type SPEC =
        sig
          val comments : string option
          val blanks : bool
          val max : int
          val delim : char
        end
      module type S =
        sig
          val comments : string option
          val blanks : bool
          val max : int
          val delim : char
          val adaptor :
            (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : < names : Line.absent; options : Line.present >;
               fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.adaptor
          val fitting :
            (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : < names : Line.absent; options : Line.present >;
               fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.fitting_adaptor
          val reader : Reader.t
          val splitter :
            (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : < names : Line.absent; options : Line.present >;
               fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.splitter
        end
      module Make : functor (Spec : SPEC-> S
      module type SPEC_NAMES =
        sig
          val comments : string option
          val blanks : bool
          val max : int
          val delim : char
          val names : string list
        end
      module type S_NAMES =
        sig
          val comments : string option
          val blanks : bool
          val max : int
          val delim : char
          val names : string list
          val adaptor :
            (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : < names : Line.present; options : Line.present >;
               fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.adaptor
          val fitting :
            (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : < names : Line.present; options : Line.present >;
               fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.fitting_adaptor
          val reader : Reader.t
          val splitter :
            (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : < names : Line.present; options : Line.present >;
               fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.splitter
        end
      module Make_names : functor (Spec : SPEC_NAMES-> S_NAMES
    end
  module Key_value :
    sig
      val adaptor :
        ?quiet:bool ->
        ?comment:string ->
        ?delim:char ->
        (< delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : 'a; fstab : 'b; group : 'c;
           key_value : < section : Line.absent >; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.adaptor
      val fitting :
        ?quiet:bool ->
        ?comment:string ->
        ?delim:char ->
        (< delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : 'a; fstab : 'b; group : 'c;
           key_value : < section : Line.absent >; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.fitting_adaptor
      val reader : ?comment:string -> Reader.t
      val splitter :
        ?quiet:bool ->
        ?delim:char ->
        (< delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : 'a; fstab : 'b; group : 'c;
           key_value : < section : Line.absent >; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.splitter
      module type SPEC = sig val delim : char val comment : string end
      module type S =
        sig
          val delim : char
          val comment : string
          val adaptor :
            (< delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : 'a; fstab : 'b; group : 'c;
               key_value : < section : Line.absent >; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.adaptor
          val fitting :
            (< delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : 'a; fstab : 'b; group : 'c;
               key_value : < section : Line.absent >; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.fitting_adaptor
          val reader : Reader.t
          val splitter :
            (< delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : 'a; fstab : 'b; group : 'c;
               key_value : < section : Line.absent >; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.splitter
        end
      module Make : functor (Spec : SPEC-> S
    end
  module Key_value_section :
    sig
      val adaptor :
        ?comment:string ->
        ?delim:char ->
        ?end_section:string ->
        string ->
        (< delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : 'a; fstab : 'b; group : 'c;
           key_value : < section : Line.present >; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.adaptor
      val fitting :
        ?comment:string ->
        ?delim:char ->
        ?end_section:string ->
        string ->
        (< delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : 'a; fstab : 'b; group : 'c;
           key_value : < section : Line.present >; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.fitting_adaptor
      val reader : ?comment:string -> Reader.t
      val splitter :
        ?delim:char ->
        ?end_section:string ->
        string ->
        (< delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : 'a; fstab : 'b; group : 'c;
           key_value : < section : Line.present >; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.splitter
      module type SPEC =
        sig
          val section : string
          val delim : char
          val comment : string
          val end_section : string option
        end
      module type S =
        sig
          val section : string
          val delim : char
          val comment : string
          val end_section : string option
          val adaptor :
            (< delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : 'a; fstab : 'b; group : 'c;
               key_value : < section : Line.present >; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.adaptor
          val fitting :
            (< delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : 'a; fstab : 'b; group : 'c;
               key_value : < section : Line.present >; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.fitting_adaptor
          val reader : Reader.t
          val new_splitter :
            unit ->
            (< delim : 'a; fstab : 'b; group : 'c; key_value : Line.absent;
               mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
               stat : 'i > ->
             < delim : 'a; fstab : 'b; group : 'c;
               key_value : < section : Line.present >; mailcap : 'd;
               passwd : 'e; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
            Adaptor.splitter
        end
      module Make : functor (Spec : SPEC-> S
    end
  module Csv :
    sig
      val adaptor :
        ?trim_space:bool ->
        (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : < names : Line.absent; options : Line.present >;
           fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.adaptor
      val fitting :
        ?trim_space:bool ->
        (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : < names : Line.absent; options : Line.present >;
           fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.fitting_adaptor
      val reader : Reader.t
      val splitter :
        ?trim_space:bool ->
        (< delim : Line.absent; fstab : 'a; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : < names : Line.absent; options : Line.present >;
           fstab : 'a; group : 'b; key_value : 'c; mailcap : 'd; passwd : 'e;
           ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.splitter
    end
  module Passwd :
    sig
      val adaptor :
        (< delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : Line.absent; ps : 'f; seq : 'g; source : 'h; stat : 'i > ->
         < delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : Line.present; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.adaptor
      val fitting :
        (< delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : Line.absent; ps : 'f; seq : 'g; source : 'h; stat : 'i > ->
         < delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : Line.present; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.fitting_adaptor
      val reader : Reader.t
      val splitter :
        (< delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : Line.absent; ps : 'f; seq : 'g; source : 'h; stat : 'i > ->
         < delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : Line.present; ps : 'f; seq : 'g; source : 'h; stat : 'i >)
        Adaptor.splitter
    end
  module Group :
    sig
      val adaptor :
        (< delim : 'a; fstab : 'b; group : Line.absent; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : 'a; fstab : 'b; group : Line.present; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i >)
        Adaptor.adaptor
      val fitting :
        (< delim : 'a; fstab : 'b; group : Line.absent; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : 'a; fstab : 'b; group : Line.present; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i >)
        Adaptor.fitting_adaptor
      val reader : Reader.t
      val splitter :
        (< delim : 'a; fstab : 'b; group : Line.absent; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : 'a; fstab : 'b; group : Line.present; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i >)
        Adaptor.splitter
    end
  module Fstab :
    sig
      val adaptor :
        (< delim : 'a; fstab : Line.absent; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : 'a; fstab : Line.present; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i >)
        Adaptor.adaptor
      val fitting :
        (< delim : 'a; fstab : Line.absent; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : 'a; fstab : Line.present; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i >)
        Adaptor.fitting_adaptor
      val reader : Reader.t
      val splitter :
        (< delim : 'a; fstab : Line.absent; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i > ->
         < delim : 'a; fstab : Line.present; group : 'b; key_value : 'c;
           mailcap : 'd; passwd : 'e; ps : 'f; seq : 'g; source : 'h;
           stat : 'i >)
        Adaptor.splitter
    end
  module Stat :
    sig
      val adaptor :
        ?dir:string ->
        (< delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : 'f; ps : 'g; seq : 'h; source : 'i; stat : Line.absent > ->
         < delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : 'f; ps : 'g; seq : 'h; source : 'i;
           stat : < blksize : Line.absent; blocks : Line.absent;
                    mode : Line.present > >)
        Adaptor.adaptor
      val fitting :
        ?dir:string ->
        (< delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : 'f; ps : 'g; seq : 'h; source : 'i; stat : Line.absent > ->
         < delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : 'f; ps : 'g; seq : 'h; source : 'i;
           stat : < blksize : Line.absent; blocks : Line.absent;
                    mode : Line.present > >)
        Adaptor.fitting_adaptor
      val reader : Reader.t
      val splitter :
        ?dir:string ->
        (< delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : 'f; ps : 'g; seq : 'h; source : 'i; stat : Line.absent > ->
         < delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : 'f; ps : 'g; seq : 'h; source : 'i;
           stat : < blksize : Line.absent; blocks : Line.absent;
                    mode : Line.present > >)
        Adaptor.splitter
    end
  module Ps :
    sig
      val adaptor :
        ?skip:bool ->
        (< delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : 'f; ps : Line.absent; seq : Line.present; source : 'g;
           stat : 'h > ->
         < delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : 'f; ps : Line.present; seq : Line.present; source : 'g;
           stat : 'h >)
        Adaptor.adaptor
      val fitting :
        ?skip:bool ->
        (< delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : 'f; ps : Line.absent; seq : Line.present; source : 'g;
           stat : 'h > ->
         < delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : 'f; ps : Line.present; seq : Line.present; source : 'g;
           stat : 'h >)
        Adaptor.fitting_adaptor
      val reader : Reader.t
      val splitter :
        ?skip:bool ->
        (< delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : 'f; ps : Line.absent; seq : Line.present; source : 'g;
           stat : 'h > ->
         < delim : 'a; fstab : 'b; group : 'c; key_value : 'd; mailcap : 'e;
           passwd : 'f; ps : Line.present; seq : Line.present; source : 'g;
           stat : 'h >)
        Adaptor.splitter
    end
  module Mailcap :
    sig
      val adaptor :
        (< delim : 'a; fstab : 'b; group : 'c; key_value : 'd;
           mailcap : Line.absent; passwd : 'e; ps : 'f; seq : 'g;
           source : 'h; stat : 'i > ->
         < delim : 'a; fstab : 'b; group : 'c; key_value : 'd;
           mailcap : Line.present; passwd : 'e; ps : 'f; seq : 'g;
           source : 'h; stat : 'i >)
        Adaptor.adaptor
      val fitting :
        (< delim : 'a; fstab : 'b; group : 'c; key_value : 'd;
           mailcap : Line.absent; passwd : 'e; ps : 'f; seq : 'g;
           source : 'h; stat : 'i > ->
         < delim : 'a; fstab : 'b; group : 'c; key_value : 'd;
           mailcap : Line.present; passwd : 'e; ps : 'f; seq : 'g;
           source : 'h; stat : 'i >)
        Adaptor.fitting_adaptor
      val reader : Reader.t
      val splitter :
        (< delim : 'a; fstab : 'b; group : 'c; key_value : 'd;
           mailcap : Line.absent; passwd : 'e; ps : 'f; seq : 'g;
           source : 'h; stat : 'i > ->
         < delim : 'a; fstab : 'b; group : 'c; key_value : 'd;
           mailcap : Line.present; passwd : 'e; ps : 'f; seq : 'g;
           source : 'h; stat : 'i >)
        Adaptor.splitter
    end
  module Ssh_config : Key_value_section.S
  module Etc_aliases : Key_value.S
  module Etc_hosts : Key_value.S
  module Ini_file : Key_value_section.S
end