Prefer the more generic Range over KeyedContainer
Using Range over KeyedContainer allows inputs to (also) be of type SharedObjectsContainer -- this makes the code more generic, and invariant under future updates which will use SharedObjectsContainer in a few instances where currently a KeyedContainer is used.
Edited by Gerhard Raven