code: def create_list_rule(
      src: str, pos: Pos, out: Output
  ) -> tuple[Pos, Key]:
      pos += 2  # Skip "[["
      pos = skip_chars(src, pos, TOML_WS)
      pos, key = parse_key(src, pos)
  
      if out.flags.is_(key, Flags.FROZEN):
          raise suffixed_err(
              src, pos, f"Cannot mutate immutable namespace {key}"
          )
      # Free the namespace now that it points to another empty list item...
      out.flags.unset_all(key)
      # ...but this key precisely is still prohibited from table declaration
      out.flags.set(key, Flags.EXPLICIT_NEST, recursive=False)
      try:
          out.data.append_nest_to_list(key)
      except KeyError:
          raise suffixed_err(
              src, pos, "Cannot overwrite a value"
          ) from None
  
      if not src.startswith("]]", pos):
          raise suffixed_err(
              src,
              pos,
              "Expected ']]' at the end of an array declaration",
          )
      return pos + 2, key
  
imports: from __future__ import annotations
  from collections.abc import Iterable
  import string
  from types import MappingProxyType
  from typing import Any, BinaryIO, NamedTuple
  from ._re import RE_DATETIME, RE_LOCALTIME, RE_NUMBER, match_to_datetime, match_to_localtime, match_to_number
  from ._types import Key, ParseFloat, Pos
label_desc: Use image node_id 8 for calling a global function with example usage: create_list_rule(src, pos, out) and returns: unknown,  key