sig
  val adaptor :
    ?comments:string -> ?blanks:bool -> ?max:int -> char -> Adaptor.adaptor
  val fitting :
    ?comments:string ->
    ?blanks:bool -> ?max:int -> char -> Adaptor.fitting_adaptor
  val reader : ?comments:string -> ?blanks:bool -> Reader.t
  val splitter : ?max:int -> char -> 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 : Adaptor.adaptor
      val fitting : Adaptor.fitting_adaptor
      val reader : Reader.t
      val splitter : 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 : Adaptor.adaptor
      val fitting : Adaptor.fitting_adaptor
      val reader : Reader.t
      val splitter : Adaptor.splitter
    end
  module Make_names : functor (Spec : SPEC_NAMES-> S_NAMES
end