Assignment of an object to a target list, optionally enclosed in parentheses or
square brackets, is recursively defined as follows.
-* If the target list is empty: The object must also be an empty iterable.
+* If the target list is a single target with no trailing comma,
+ optionally in parentheses, the object is assigned to that target.
-* If the target list is a single target in parentheses: The object is assigned
- to that target.
-
-* If the target list is a comma-separated list of targets, or a single target
- in square brackets: The object must be an iterable with the same number of
+* Else: The object must be an iterable with the same number of
items as there are targets in the target list, and the items are assigned,
from left to right, to the corresponding targets.