Module Ocaml_typing.Solver

include Solver_intf.S
module Magic_equal (X : Solver_intf.Equal) : Solver_intf.Equal with type ('a, 'b, 'c) t = ('a, 'b, 'c) X.t

Takes a slow but type-correct Equal module and returns the magic version, which is faster. NOTE: for this to be sound, the function in the original module must be just %equal (up to runtime representation).

module Solver_mono (Hint : Solver_intf.Hint) (C : Solver_intf.Lattices_mono) : Solver_intf.Solver_mono with type ('a, 'b, 'd) morph := ('a, 'b, 'd) C.morph and type 'a obj := 'a C.obj and type pinpoint := Hint.Pinpoint.t and type 'd hint_morph := 'd Hint.Morph.t and type 'd hint_const := 'd Hint.Const.t

Solver that supports lattices with monotone morphisms between them.