A copied configuration can still share its nested lists with the original. Assignment creates another name for an object. A shallow copy creates a new outer container while retaining its inner references. A deep copy recursively copies supported nested objects. Choose the boundary you need, then check the original after an edit. Python also has a repeated-list trap: multiplying a list that contains a mutable object repeats that reference. You'll edit queues and seating plans while returning enough evidence to see whether the source changed. These checks focus on the visible result rather than prescribing copy syntax, so any implementation that preserves the required independence is accepted.