Why use a B-Tree when all you need is to make separate lists for your different collision types?