Quadrable: Sparse merkle tree database in C++ and Solidity, git-like command-line tool

This is very interesting. I read the documentation and was wondering if you ever considered bubbling non-empty subtrees in addition to non-empty leaves as well?

It would compact the tree even more and may enable the Integer Key case out of the box without any special treatment.
You find a discussion of this in: Compact Sparse Merkle Trees on this Forum. In the same discussion later down I presented an alternative to the initial suggestion (Compact Sparse Merkle Trees)