Henning Westerholt writes:
In other areas we also have overlapping functionalies with different datastructures, like in RURI prefix rewriting: dispatcher (linked list), lcr (hash table), cr (trie), mtree (tree?) and also drouting (trie), which was added not that long ago.
sure there are overlaps, but before matrix module, there was no other module that was functionally a pure subset of an existing module and that was worse in performance.
-- juha