I was concerned about `_UNPARSED_ARGUMENTS` not getting set on subsequent calls if the later calls didn't have any. It was defensive, since I wasn't sure what was done.

Does CMake treat the `_` prefixed variables different? Otherwise I don't really see any value in that.

I could refactor it into a function if you think that is necessary.