Decode a JSON object of unknown format into a Dictionary with Decodable in Swift 4

I don’t have time at the moment to put together a full response to your comments (hopefully later or tomorrow), but the dynamic lookup I’m referring to is the Dynamic Member Lookup introduced by SE-0195. The idea would be to add some dynamic members to Unevaluated to make it somewhat consumable without needing to cast its .value to something concrete.