GString objects and String objects have different hash codes, even when they represent identical text. This causes maps to fail matching keys when
mixing GStrings and Strings.
When a GString is used as a map key, lookups with an equivalent String will fail. For example, storing with "${name}" (where
name is "John") and retrieving with "John" returns null.
This violates expectations and leads to bugs, especially when keys are created dynamically in one part of the code and used as literals
elsewhere.