Can we delve into that in the other thread instead?
I am thinking enum
is not first-class disjunction but perhaps I am mistaken. And that doesn't provide first-class intersections in any case.
I want to compare design paradigms such as what you were doing with OOHaskell. There is a lot I need to learn.
Natural /\ Positive
is not the empty set. Where we have arrived is they are not disjoint and the problem at-hand is not requiring the programmer to conceive of 4 traits to be able to write NatPos
instead of Natural /\ Positive
. The utility is Don't Repeat Yourself (DRY) and greater degrees-of-freedom.