sig
type 'a t = 'a Lattice_bounds.or_top_bottom
module Operators :
sig
val ( >>- ) :
[< 'a Lattice_bounds.TopBottom.t ] ->
('a -> ([> 'b Lattice_bounds.TopBottom.t ] as 'c)) -> 'c
val ( >>-: ) :
[< 'a Lattice_bounds.TopBottom.t ] ->
('a -> 'b) -> [> 'b Lattice_bounds.TopBottom.t ]
val ( let+ ) :
[< 'a Lattice_bounds.TopBottom.t ] ->
('a -> 'b) -> [> 'b Lattice_bounds.TopBottom.t ]
val ( and+ ) :
[< 'a Lattice_bounds.TopBottom.t ] ->
[< 'b Lattice_bounds.TopBottom.t ] ->
[> ('a * 'b) Lattice_bounds.TopBottom.t ]
val ( let* ) :
[< 'a Lattice_bounds.TopBottom.t ] ->
('a -> ([> 'b Lattice_bounds.TopBottom.t ] as 'c)) -> 'c
val ( and* ) :
[< 'a Lattice_bounds.TopBottom.t ] ->
[< 'b Lattice_bounds.TopBottom.t ] ->
[> ('a * 'b) Lattice_bounds.TopBottom.t ]
end
val hash : ('a -> int) -> 'a Lattice_bounds.TopBottom.t -> int
val equal :
('a -> 'a -> bool) ->
'a Lattice_bounds.TopBottom.t -> 'a Lattice_bounds.TopBottom.t -> bool
val compare :
('a -> 'a -> int) ->
'a Lattice_bounds.TopBottom.t -> 'a Lattice_bounds.TopBottom.t -> int
val pretty :
(Stdlib.Format.formatter -> 'a -> unit) ->
Stdlib.Format.formatter -> 'a Lattice_bounds.TopBottom.t -> unit
val join :
('a -> 'a -> [< 'a Lattice_bounds.TopBottom.t ]) ->
'a Lattice_bounds.TopBottom.t ->
'a Lattice_bounds.TopBottom.t -> 'a Lattice_bounds.TopBottom.t
val narrow :
('a -> 'a -> [< 'a Lattice_bounds.TopBottom.t ]) ->
'a Lattice_bounds.TopBottom.t ->
'a Lattice_bounds.TopBottom.t -> 'a Lattice_bounds.TopBottom.t
end