CEL currently supports heterogeneously keyed maps; however, none of the first class data types (JSON, Proto) support this feature. This is an impedance mismatch between the CEL type system and the types supported by JSON and Proto. Some of the languages in which CEL is implemented support heterogeneous map keys, but their use is expected to be the exception and not the rule.
Removing support will also yield the following benefits:
Improved type-safety.
Set membership tests in maps can safely use the native map contains checks and retain CEL equality semantics.
Map equality will be able to consider key type for the whole map per-element key type in equality checks.
CEL currently supports heterogeneously keyed maps; however, none of the first class data types (JSON, Proto) support this feature. This is an impedance mismatch between the CEL type system and the types supported by JSON and Proto. Some of the languages in which CEL is implemented support heterogeneous map keys, but their use is expected to be the exception and not the rule.
Removing support will also yield the following benefits: