sig
  module Style :
    sig
      type t = Color_print.Style.t
      val ansi : t
      val no_formatting : t
      val ok_or_not : t
    end
  module type T =
    sig
      val println : string -> unit
      val redprintln : string -> unit
      val yellowprintln : string -> unit
      val greenprintln : string -> unit
      val blueprintln : string -> unit
      val inverseprintln : string -> unit
      val printfln : ('a, out_channel, unit) format -> 'a
      val redprintfln : ('a, out_channel, unit) format -> 'a
      val yellowprintfln : ('a, out_channel, unit) format -> 'a
      val greenprintfln : ('a, out_channel, unit) format -> 'a
      val blueprintfln : ('a, out_channel, unit) format -> 'a
      val inverseprintfln : ('a, out_channel, unit) format -> 'a
    end
  type t = (module T)
  val create : style:Style.t -> oc:Core.Std.Out_channel.t -> t
  module S :
    sig
      val println : string -> unit
      val redprintln : string -> unit
      val yellowprintln : string -> unit
      val greenprintln : string -> unit
      val blueprintln : string -> unit
      val inverseprintln : string -> unit
      val printfln : ('a, out_channel, unit) format -> 'a
      val redprintfln : ('a, out_channel, unit) format -> 'a
      val yellowprintfln : ('a, out_channel, unit) format -> 'a
      val greenprintfln : ('a, out_channel, unit) format -> 'a
      val blueprintfln : ('a, out_channel, unit) format -> 'a
      val inverseprintfln : ('a, out_channel, unit) format -> 'a
    end
  val ounit_tests : unit -> OUnit.test
end