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.