Reduced the interface traits to cast traits

The introspected API methods are provided on the instance structs
themselves. To borrow a superclass struct reference from a
subclass, one can use the cast traits generated in the cast::
submodule for each type.