I expect many aspects of the implementation to evolve over time. Get a description of a name. You cannot mix interfaces and classes in base-class lists. Interfaces perform a different function that classes. Classes are for sharing implementation.
Interfaces are for denoting, defining, and documenting abstract behavior.
There is an Interface package that exports a variety of useful facilities. These are described below. Creating Interfaces Interfaces can be created in several ways. The class statement can be used with one or more interfaces provided as base classes. This approach is convenient, syntactically, although it is a little missleading, since interfaces are not classes.