Representing arbitrary data (e.g JSON) as a custom and opaque Codable type

Represent arbitrary data (e.g JSON) using a custom and opaque Codable type consisting of a hierarchy of primitive data values and nested…