object
  method virtual basename : string -> string
  method datatype : Lang.ADT.t -> string
  method datatypename : string -> string
  method field : Lang.Field.t -> string
  method fieldname : string -> string
  method funname : string -> string
  method virtual infoprover : 'Lang.infoprover -> 'a
  method link : Lang.Fun.t -> Qed.Engine.link
end