Declaration and initialization
Method requirements
Property requirements
Protocol composition
Conformance checking (is, as)
Default methods
Collection of interfaces
Mutating methods