sig
type 'a t = 'a Lattice_bounds.or_top
module Operators :
sig
val ( >>- ) :
[< 'a Lattice_bounds.Top.t ] ->
('a -> ([> 'b Lattice_bounds.Top.t ] as 'c)) -> 'c
val ( >>-: ) :
[< 'a Lattice_bounds.Top.t ] ->
('a -> 'b) -> [> 'b Lattice_bounds.Top.t ]
val ( let+ ) :
[< 'a Lattice_bounds.Top.t ] ->
('a -> 'b) -> [> 'b Lattice_bounds.Top.t ]
val ( and+ ) :
[< 'a Lattice_bounds.Top.t ] ->
[< 'b Lattice_bounds.Top.t ] -> [> ('a * 'b) Lattice_bounds.Top.t ]
val ( let* ) :
[< 'a Lattice_bounds.Top.t ] ->
('a -> ([> 'b Lattice_bounds.Top.t ] as 'c)) -> 'c
val ( and* ) :
[< 'a Lattice_bounds.Top.t ] ->
[< 'b Lattice_bounds.Top.t ] -> [> ('a * 'b) Lattice_bounds.Top.t ]
end
val is_top : 'a Lattice_bounds.Top.t -> bool
val non_top : 'a Lattice_bounds.Top.t -> 'a
val value : top:'a -> 'a Lattice_bounds.Top.t -> 'a
val hash : ('a -> int) -> 'a Lattice_bounds.Top.t -> int
val equal :
('a -> 'a -> bool) ->
'a Lattice_bounds.Top.t -> 'a Lattice_bounds.Top.t -> bool
val compare :
('a -> 'a -> int) ->
'a Lattice_bounds.Top.t -> 'a Lattice_bounds.Top.t -> int
val pretty_top : Stdlib.Format.formatter -> unit
val pretty :
(Stdlib.Format.formatter -> 'a -> unit) ->
Stdlib.Format.formatter -> 'a Lattice_bounds.Top.t -> unit
val join :
('a -> 'a -> 'a Lattice_bounds.Top.t) ->
'a Lattice_bounds.Top.t ->
'a Lattice_bounds.Top.t -> 'a Lattice_bounds.Top.t
val narrow :
('a -> 'a -> 'a) ->
'a Lattice_bounds.Top.t ->
'a Lattice_bounds.Top.t -> 'a Lattice_bounds.Top.t
val zip :
'a Lattice_bounds.Top.t ->
'b Lattice_bounds.Top.t -> ('a * 'b) Lattice_bounds.Top.t
val to_option : 'a Lattice_bounds.Top.t -> 'a option
val of_option : 'a option -> 'a Lattice_bounds.Top.t
end