sig
  type t = Completion.ex_source
  val files : ?filter:(string -> bool) -> string -> Sources.t
  val from_list : (string * string * string) list -> Sources.t
  val from_list_rev : (string * string * string) list -> Sources.t
  val from_list_ : string list -> Sources.t
  val from_list_rev_ : string list -> Sources.t
  val csum :
    (string * Completion.state_machine Lazy.t) list ->
    Completion.state_machine
  val binaries : Sources.t
  val switch : ((string -> bool) * Sources.t Lazy.t) list -> Sources.t
  val empty : Sources.t
  val paths : coupled_with:Sources.t -> Sources.t
  val stdin : ?sep:string -> unit -> Sources.t
end