fix suffix unions

fix union() call for non-exact alternates; add test case