The language predeclares the two types:
    TEXT  <: REFANY
    MUTEX <: ROOT
which represent text strings and mutual exclusion semaphores, 
respectively.  These are
opaque types.
Their properties are specified in 
the required interfaces
Text
and
Thread.