('a, 'b, 'c) IO.output ->
object
  method close : 'c
  method flush : unit
  method nwrite : '-> unit
  method pos : int
  method write : '-> unit
end