type t = [ | `Bot| `Lifted1 of S.G.t| `Lifted2 of S.D.t| `Top
]val arbitrary : unit -> 'aval show : [< `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top ] -> stringval relift :
([< `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top Lifted1 Lifted2 ] as 'a) ->
'aval name : unit -> stringSourceval bot : unit -> [> `Bot ] Sourceval is_bot : [> `Bot ] -> bool Sourceval top : unit -> [> `Top ] Sourceval is_top : [> `Top ] -> bool Sourceval leq :
[> `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top ] ->
[> `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top ] ->
bool Sourceval join :
([> `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top ] as 'a) ->
'a ->
'a Sourceval meet :
([> `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top ] as 'a) ->
'a ->
'a Sourceval narrow :
([> `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top ] as 'a) ->
'a ->
'a