sig
  type compiler_msg =
      [ `Msg of string | `Msg_loc of string * Lit.Prog.loc * string ]
  val pp_compiler_msg :
    Format.formatter -> Lit.Renderer.Log.compiler_msg -> unit
  type compiler_msg_parser =
      string -> [ `Loc of string * int * int * string | `Unparsed of string ]
  val compiler_msg_parser_default : Lit.Renderer.Log.compiler_msg_parser
  val compiler_msg_parser_raw : Lit.Renderer.Log.compiler_msg_parser
  type msg =
      [ `Compiler of Lit.Renderer.Log.compiler_msg list
      | `Linker of string list
      | `Missing_attr of Lit.prim * string
      | `Msg of string
      | `Unsupported_shaders of Lit.prog * Lit.Prog.shader list ]
  val pp_msg : Format.formatter -> Lit.Renderer.Log.msg -> unit
  type level = [ `Debug | `Error ]
  type t = Lit.Renderer.Log.level -> Lit.Renderer.Log.msg -> unit
  val of_formatter : Format.formatter -> Lit.Renderer.Log.t
end