I read somewhere that because Dictionary is an abstract class instead of an interface like Map, and because
Java classes can only have 1 superclass, all of Dictionary's subclasses are forever trapped under the Dictionary inheritance tree and can't be moved to fill other rolls in other inheritance trees.
Dictionary is more like java.util.AbstractMap than the Map interface.