I haven't studied Hg's internals. I much prefer Hg to git (because its UI makes sense) but I no longer have the happy option of using it. So rather than continue to fight a battle that was already lost, I decided to embrace git.
For what it's worth, I've been using Mercurial + hg-git to interact with git repos since 2010 and I still do with all my git and github using colleagues.