code: def parse_array(
      src: str, pos: Pos, parse_float: ParseFloat
  ) -> tuple[Pos, list]:
      pos += 1
      array: list = []
  
      pos = skip_comments_and_array_ws(src, pos)
      if src.startswith("]", pos):
          return pos + 1, array
      while True:
          pos, val = parse_value(src, pos, parse_float)
          array.append(val)
          pos = skip_comments_and_array_ws(src, pos)
  
          c = src[pos : pos + 1]
          if c == "]":
              return pos + 1, array
          if c != ",":
              raise suffixed_err(src, pos, "Unclosed array")
          pos += 1
  
          pos = skip_comments_and_array_ws(src, pos)
          if src.startswith("]", pos):
              return pos + 1, array
  
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 14 for calling a global function with example usage: parse_array(src, pos, parse_float) and returns: unknown,  array, unknown,  array, unknown,  array