Accessing a Map with an incorrect key type may result in a extra conversion or a runtime error. This is a bug, but not always caught by the compiler.
Bad code example
Map<String, Integer> fooMap = new Map<>()
…
Integer keyReference = 1;
Integer Value = fooMap.get(keyReference);
And we really should have keyReference as a String.