Testing for generic character name wasn't robust enough. Looking
for whether "game" is a generic name would work when compared
with the list "game games" but falsely report 'no' for the list
"games game". The first matching substring isn't followed by a
space and the routine wasn't checking for other matches in the
rest of the list. Check again with a subset list starting after
the next space beyond the false hit; repeat as needed.