type html_tag = [ `BR | `L of html_tag list | `T of string | `DIV of int * string option * html_tag (* indentation, color, tag *) ] type html_msg = [ `Error of html_tag | `Msg of html_tag ] val string_of_html_msg: html_msg -> string val html_of_html_msg: html_msg -> string type logger_fun = ?append_NL:bool -> html_msg -> unit val register_log_callback: logger_fun -> unit val log: logger_fun