The first round of code cleanup and code speedup has been complete. Duplicate functions have been eliminated, type ranges are stricter, sanity checks have been added and a few (relatively minor) optimizations have been made.
MHash now supports two numbering schemes for selecting hashes. The first is the standard scheme that has always been used. The second is a heirarchical scheme that - if it proves interesting - will be proposed to other crypto library writers as an interoperable convention.
As always, code is welcome, patches are welcome, help is welcome, testing on strange and alien computer platforms from another galaxy is welcome.