StateSetter only supports restoring the state of variables (list, tuple, dict) if the state of the variable and target variable have the same size.
This is a problem if one wants to restore the state of arbitrarily nested objects with dynamic size,
e.g. restore a list of dicts into an empty list.