functor (M : MONAD_IO) ->
  sig
    val output : M.output -> 'a CCPrint.t -> 'a -> unit M.t
    val printl : M.output -> 'a CCPrint.t -> 'a -> unit M.t
    val fprintf :
      M.output -> ('a, Buffer.t, unit, unit M.t) Pervasives.format4 -> 'a
  end