Comment made by: steveminer@gmail.com
The rejected fix for CLJ-1242 that protected entryAt from ClassCastException would have fixed this as well. The root of the issue is that the exception can come from checking keys so it makes sense to fix it there. The accepted fix for CLJ-1242 protected only the = test with the sorted-map first. The more basic key access question was punted. I expect this to work:
`
(= (get (sorted-map 1 2) :a :missing) :missing)`
I think it's worth taking another look at entryAt. Most users would expect the following to succeed:
`
(every? (fn [create] (= (get (create 1 2) :a :missing) :missing)) [hash-map array-map sorted-map])`
If there's a performance concern, then the restriction on testing keys should be documented.