When adding an implicit parameter dictionary to the inert set, we must make sure that it replaces any previous implicit parameter dictionaries that overlap, in order to get the appropriate shadowing behaviour, as in
let ?x = 1 in let ?x = 2 in ?x
We were already doing this for
inert_cans, but we weren't doing the same
inert_solved_dicts, which lead to the bug reported in #23761 (closed).
The fix is thus to make sure that, when handling an implicit parameter
updInertDicts, we update both
inert_solved_dicts to ensure a new implicit parameter dictionary
correctly shadows old ones.