+class type g_status =
+ object
+ method lstatus: lexicon_status
+ end
+
+class status =
+ object(self)
+ val lstatus = initial_status
+ method lstatus = lstatus
+ method set_lstatus v = {< lstatus = v >}
+ method set_lexicon_engine_status : 'status. #g_status as 'status -> 'self
+ = fun o -> self#set_lstatus o#lstatus
+ end
+
+let dump_aliases out msg status =
+ out (if msg = "" then "aliases dump:" else msg ^ ": aliases dump:");
+ DisambiguateTypes.Environment.iter
+ (fun _ x -> out (LexiconAstPp.pp_alias x))
+ status#lstatus.aliases
+