code: def assert_deepcopy_idempotent(obj):
      '''Assert that obj does not change (w.r.t. ==) under repeated deepcopies
      '''
      from copy import deepcopy
      obj1 = deepcopy(obj)
      obj2 = deepcopy(obj1)
      obj3 = deepcopy(obj2)
      assert_equivalent(obj, obj1)
      assert_equivalent(obj, obj2)
      assert_equivalent(obj, obj3)
      assert type(obj) is type(obj3f assert_deepcopy_idempotent(obj):
      '''Assert that obj does not change (w.r.t. ==) under repeated deepcopies
      '''
      from copy import deepcopy
      obj1 = deepcopy(obj)
      obj2 = deepcopy(obj1)
      obj3 = deepcopy(obj2)
      assert_equivalent(obj, obj1)
      assert_equivalent(obj, obj2)
      assert_equivalent(obj, obj3)
      assert type(obj) is type(obj3)
docs: Assert that obj does not change (w.r.t. ==) under repeated deepcopies