either returns a string, not an array
Closes #2549 (closed).
Seems !8337 (merged) was just a coincidence. either() flattened the two arrays it was given here and returned a string, NOT a random array. But we can only run filter() on an array.
concat() is what we need here. This combines the two arrays for getUnusedName() to look through.