code: def test_merge_list():
      c1 = Context(lst=[1, 2, 3])
      with pytest.raises(MergeError):
          # cannot overwrite by default
          c1.merge_update({"lst": [10, 11, 12]})
  
      # lists are never merged
      c1.merge_update({"lst": [10, 11, 12]}, overwrite=True)
      node = c1.select("lst")
      assert node == [10, 11, 12]
      assert isinstance(node, CtxList)
      assert node[0] == Value(10)
  
imports: from dataclasses import asdict
  from math import pi
  import pytest
  from dvc.fs import LocalFileSystem
  from dvc.parsing import DEFAULT_PARAMS_FILE
  from dvc.parsing.context import Context, CtxDict, CtxList, KeyNotInContext, MergeError, ParamsLoadError, Value, recurse_not_a_node
  from dvc.utils import relpath
  from dvc.utils.serialize import dumps_yaml
label_desc: Use image node_id 10 for calling a global function with example usage: test_merge_list() without return types