A number of improvements. Bring all the name generation logic into a single, reusable, method. Add the ability to merge names (useful for aliases). Add the generation to the rendered name. Fix m/n confusion. Fix some bugs.