ructor DoThat of bool * 'a : 'a message
constructor StopIt : 'a message
constructor Abort = StopIt</PRE>

<P>Constructors can be added at any point. Like exceptions in SML, constructor
declarations are dynamically generative, i.e., the following function returns a
different constructor on each call:</P>

<PRE class=code>
fun genMsg() = let constructor C : 'a message in C end</PRE>

<P>Note that - like exceptions - extensible types do not admit equality, since
it is unknown whether there will be any construc