I need to read more about the "dictionary" approach. I am not stoked if using generics carries the performance penalty of virtual calls, but it sounds like it's sort of a hybrid approach where Vec<T> won't be "boxed" which is a big win.