Fixed
* `starts` and `ends` no longer allow patterns that respectively
start and end with `__`, to avoid munging the default dunder
objects in the namespace
* If a variable referencing a list, rather than a list literal, is
passed as `names`, that passed reference is no longer erroneously
updated with matches to the `starts` and `ends` patterns.
* Fixed an erroneous duplication of variable names held in
`names` due to variables in the namespace, e.g., matching multiple
pattern entries in `starts` and/or `ends`.