Using Equatable and NilLiteralConvertible to re-implement Optionals in Swift | Dark Hacker News