]>
Just a remark about your last point:
> Rather than using type "int" for comparison, it would be clearer
> to use an explicit type comparison = Smaller | Equiv | Greater.
While implementing arithmetic I have some practice of comparison
and sign functions and at the beginning I think like you that a 3
values boolean type will be a good feature, more precise than type
"int" with bad values to treat, but for several operations we need
arithmetic operations on these objects, and it is easier to use type
"int" than do some boolean operations on these values. So practically
it is not so clear that we always want to use such a type.