To allow us to implement this on other map subclasses in the future, can we put a `slice()` method on the map subclasses, and have `Distribution.slice()` call its map `slice`s in a polymorphic way?