Type derivation and lifted unit propagation are not smart enough in case of subtypes.
Issue #367
new
type X isa int type Y isa X P(X) Q(Y)
?x: P(x) & Q(x).
Should derive x of type Y + applyToStructure takes a very long time if X is large => should have some threshold above which the bdds are simplified.