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