code: def split_lines(
      row: hl.StructExpression,
      fields: List[str],
      *,
      delimiter: str,
      missing: str,
      quote: str,
  ) -> hl.ArrayExpression:
      split_array = row.text._split_line(
          delimiter,
          missing=missing,
          quote=quote,
          regex=len(delimiter) > 1,
      )
      return (
          hl.case()
          .when(hl.len(split_array) == len(fields), split_array)
          .or_error(
              hl.format(
                  f"""error in number of fields found: in file %s
  Expected {len(fields)} {plural("field", len(fields))}, found %d %s on line:
  %s""",
                  row.file,
                  hl.len(split_array),
                  hl_plural("field", hl.len(split_array)),
                  row.text,
              )
          )
      )
  
imports: from typing import List, Optional
  import hail
  from hail.utils.misc import hl_plural, plural
label_desc: Use image node_id 1 for calling a global function with example usage: split_lines(row, fields) and returns: hl