Puedes convertir una clase a una de sus subclases (lo que se denomina casting de tipos) con la sintaxis NewReference := type_to_cast_to[Reference], donde type_to_cast_to es el tipo que desea utilizar. Esta es una expresión falible porque la conversión de tipos fallará si el objeto no se puede convertir a ese tipo; por ejemplo, si la clase es de un tipo diferente al de la subclase.
El siguiente ejemplo muestra cómo convertir TaggedDevice, que tiene el tipo creative_device_base, en un tipo customizable_light_device para poder utilizar sus funciones específicas. Si el TaggedDevice no es un dispositivo de luz personalizable, entonces no llamará a TurnOn().
if (LightDevice := customizable_light_device[TaggedDevice]):
LightDevice.TurnOn()