can an implementation use a collision-resistant hash function (e.g. sha256) for internal store keying?
My implementation (currently used by crypto.com’s implementation of their own chain) of a similar idea (compressing chains of branches to a single node) can swap out hash functions for internal store keying and external facing hashes (they are really the same, the root is just another address in the tree). I don’t currently have two hashing functions implemented, but I can if there is demand for it, since the implementation is trivial.