Lines like fn map_reduce<K1: Copy Send, K2: Hash IterBytes Eq Const Copy Send, V: Copy Send> can probably be compressed a bit with the aid of trait inheritance. Figure out the places where trait inheritance would be useful and determine the appropriate hierarchies.