Type System
Encore supports parametric classes, methods and functions, and subtype polymorphism between classes and traits (though at present no bounded polymorphism is supported). In addition to this, Encore supports a capability system called Kappa which is designed to allow safe sharing of passive objects between active objects to avoid data races. Kappa is integrated closely into the trait/class system. These are now discussed together.