Changes in new versions
Opaque return types with some
Property wrappers
Implicit returns from single-expression functions
The Identifiable protocol
Default values in memberwise initializers
Collection difference
Universal Self
Matching optional enums