stop using BTree.compare() to handle BTree.Special where possible