Leave the type parameter implicit where possible.
Don’t put a space before :.
Section Set.
No leading indentation on otherwise blank lines.
More documentation comments.
Use backticks instead of \c.
Missed a space-before-colon case.
Case.
Move SequenceType conformance into the body.
Move CollectionType conformance into the body.
Move ExtensibleCollectionType conformance into the body.
Move algebraic operations into the body.
Ternary operation.
Move the Set() constructor to the outside.
Move higher-order functions into the body.
Moves ArrayLiteralConvertible conformance into the body.
Move Printable conformance into the body.
Move Hashable conformance into the body.
Leave CollectionType and SequenceType conformance tacit.
Separate out the operators a bit.