Currently it's possible to encode a Map with a potentially arbitrary key if `EncodeJsonKey` is implemented, but it's not possible to decode in reverse.