Is the type tp
decomposable? i.e.
Is the type tp
decomposable? i.e. all values of the type can be covered
by its decomposed types.
Abstract sealed class, OrType, Boolean and Java enums can be decomposed.
Get components of decomposable types
Is tp1
the same type as tp2
?
Is tp1
a subtype of tp2
?
Return term parameter types of the case class tp
Flatten space to get rid of Or
for pretty print
Intersection of two spaces
Is a
a subspace of b
? Equivalent to a - b == Empty
, but faster
The space of a not covered by b
Simplify space using the laws, there's no nested union after simplify
abstract space logic