| SAXONICA | 
The expression E cast as T converts the value of expression E to type
            T. Whether T is a built-in type or a user-defined type, the
            effect is exactly the same as using the constructor function T (E).
         
The expression E treat as T is designed for environments that perform static type
            checking. Saxon doesn't do static type checking, so this expression has very little use, except to
            document an assertion that the expression E is of a particular type. A run-time failure
            will be reported if the value of E is not of type T; no attempt is made
            to convert the value to this type.