decruft
Breaking commit!  affix computation factored out into utils, minor cleanup