But, at present our only way to flag a wrong constructor call like
"interval from 3 to NaN" is by setting a decoration (a value of the
domain tetrit, in Hayes' scheme; or set the "illformed" bit, in mine). An
interval thus decorated is to behave exactly like "NaI".
A constructor for a bare interval can't do that. Briefly put
Dinterval(3,NaN) can make a result that behaves like NaI.
Interval(3,NaN) can't. So what _should_ it return?
I can see various possibilities, none very satisfactory. Your solutions,
please.
I think that a constructor should always produce a decorated interval, and
the programmer cvan then decide to throw away the decoration,
if desired (after querying the result, if needed).