sig
  type color = Black | Red | Green | Yellow | Blue | Magenta | Cyan | White
  type attribute =
      Clear
    | Bold
    | Dark
    | Underline
    | Blink
    | Reverse
    | Concealed
    | Color of ANSIColor.color
    | Background of ANSIColor.color
  val black : ANSIColor.attribute
  val red : ANSIColor.attribute
  val green : ANSIColor.attribute
  val yellow : ANSIColor.attribute
  val blue : ANSIColor.attribute
  val magenta : ANSIColor.attribute
  val cyan : ANSIColor.attribute
  val white : ANSIColor.attribute
  val on_black : ANSIColor.attribute
  val on_red : ANSIColor.attribute
  val on_green : ANSIColor.attribute
  val on_yellow : ANSIColor.attribute
  val on_blue : ANSIColor.attribute
  val on_magenta : ANSIColor.attribute
  val on_cyan : ANSIColor.attribute
  val on_white : ANSIColor.attribute
  val apply : ANSIColor.attribute list -> string -> string
  val set_autoreset : bool -> unit
end