sig
  module Result :
    sig
      type ('a, 'b) t =
          Input_closed
        | Input_closed_in_the_middle_of_data of
            ('a, 'b) Core.Std.Unpack_buffer.t
        | Output_closed of 'Core.Std.Queue.t *
            ('a, 'b) Core.Std.Unpack_buffer.t
        | Unpack_error of Core.Std.Error.t
      val to_error : ('a, 'b) Unpack_sequence.Result.t -> Core.Std.Error.t
      val sexp_of_t :
        ('-> Sexplib.Sexp.t) ->
        ('-> Sexplib.Sexp.t) ->
        ('a, 'b) Unpack_sequence.Result.t -> Sexplib.Sexp.t
    end
  val unpack_from_string_pipe :
    ('a, 'b) Core.Std.Unpack_buffer.t ->
    string Import.Pipe.Reader.t ->
    'Import.Pipe.Reader.t *
    ('a, 'b) Unpack_sequence.Result.t Import.Deferred.t
  val unpack_from_reader :
    ('a, 'b) Core.Std.Unpack_buffer.t ->
    Import.Reader.t ->
    'Import.Pipe.Reader.t *
    ('a, 'b) Unpack_sequence.Result.t Import.Deferred.t
  val unpack_bin_prot_from_reader :
    'Core.Std.Bin_prot.Type_class.reader ->
    Import.Reader.t ->
    'Import.Pipe.Reader.t *
    ('a, unit) Unpack_sequence.Result.t Import.Deferred.t
end