object
  method feed : 'input -> unit
  method next : [ `end_of_stream | `not_ready | `output of 'output ]
  method stop : unit
end