--------------------------------------------------------------------------------
New Capabilities Work With Native Swift Types
> Structs, enums, and classes are all now able to take advantage of customizable,
automatic encoding and decoding functionality in Swift 4.
Swift 4 adds new protocols, Encodable and Decodable (and for convenience, a
typealias, Codable, defined as Encodable & Decodable) that define the