sig   type t =       Approximation of string     | Imprecision of string     | Costly of string     | Unsoundness of string   type emitter   val register : string -> Lattice_messages.emitter   val emitter_name : Lattice_messages.emitter -> string   val emit : Lattice_messages.emitter -> Lattice_messages.t -> unit   val emit_imprecision : Lattice_messages.emitter -> string -> unit   val emit_approximation :     Lattice_messages.emitter ->     ('a, Format.formatter, unit) Pervasives.format -> 'a   val emit_costly :     Lattice_messages.emitter ->     ('a, Format.formatter, unit) Pervasives.format -> 'a   val message_destination :     (Lattice_messages.emitter -> Lattice_messages.t -> unit) Pervasives.ref end