This seems to take a lot of CPU time to index the signatures. We can probably match by walking the trees lazily.