functor (Future : Future.S->
  sig
    val read :
      Future.Reader.t ->
      Biocaml_fastq.item Core.Std.Or_error.t Future.Pipe.Reader.t
    val write :
      Future.Writer.t ->
      Biocaml_fastq.item Future.Pipe.Reader.t -> unit Future.Deferred.t
    val write_file :
      ?perm:int ->
      ?append:bool ->
      string ->
      Biocaml_fastq.item Future.Pipe.Reader.t -> unit Future.Deferred.t
  end