sig
type 'a or_top_bottom = [ `Bottom | `Top | `Value of 'a ]
val join :
('a -> 'a -> 'a) ->
'a Bottom.Top.or_top_bottom ->
'a Bottom.Top.or_top_bottom -> 'a Bottom.Top.or_top_bottom
val narrow :
('a -> 'a -> 'a or_bottom) ->
'a Bottom.Top.or_top_bottom ->
'a Bottom.Top.or_top_bottom -> 'a Bottom.Top.or_top_bottom
end