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