Lattice_bounds.TopBottomtype 'a t = 'a or_top_bottomval return : 'a -> 'a tmodule Make_Datatype
(Domain : Datatype.S) :
Datatype.S with type t = Domain.t or_top_bottomDatatype constructor
module Operators : sig ... endOperators. In presence of simultaneous `Bottom and `Top in and+ / and*, everything narrows down to `Bottom. Every operators is redefined to ensure subtyping properties.
val hash : ('a -> int) -> 'a t -> intDatatype
val pretty :
(Format.formatter -> 'a -> unit) ->
Format.formatter ->
'a t ->
unitPretty-printing