docstr: Mutating a cache_resource return value is legal, and *will* affect
  future accessors of the data.
code: def test_mutate_return(self, exception):
      """Mutating a cache_resource return value is legal, and *will* affect
      future accessors of the data."""
  
      @st.cache_resource
      def f():
          return [0, 1]
  
      r1 = f()
  
      r1[0] = 1
  
      r2 = f()
  
      exception.assert_not_called()
  
      self.assertEqual(r1, [1, 1])
      self.assertEqual(r2, [1, 1])
  
imports: import threading
  import unittest
  from typing import Any, List
  from unittest.mock import Mock, patch
  from parameterized import parameterized
  import streamlit
  from streamlit.runtime.caching import cache_resource_api, get_resource_cache_stats_provider
  from streamlit.runtime.caching.cache_type import CacheType
  from streamlit.runtime.caching.cached_message_replay import MultiCacheResults
  from streamlit.runtime.caching.hashing import UserHashError
  from streamlit.runtime.scriptrunner import add_script_run_ctx
  from streamlit.runtime.stats import CacheStat
  from streamlit.vendor.pympler.asizeof import asizeof
  from tests.streamlit.runtime.caching.common_cache_test import as_cached_result
  from tests.testutil import create_mock_script_run_ctx
label_desc: Use image node_id 3 for calling the CacheResourceTest obj's underlying member method code with example usage: obj.test_mutate_return(exception) and returns: list