code: def export_block_matrices(
      bms: List[BlockMatrix],
      prefix: str,
      overwrite: bool = False,
      delimiter: str = "\t",
      header: Optional[str] = None,
      add_index: bool = False,
      compression: Optional[str] = None,
      custom_filenames=None,
  ):
      if custom_filenames:
          assert len(custom_filenames) == len(
              bms
          ), "Number of block matrices and number of custom filenames must be equal"
  
      writer = BlockMatrixTextMultiWriter(
          prefix,
          overwrite,
          delimiter,
          header,
          add_index,
          compression,
          custom_filenames,
      )
      Env.backend().execute(
          BlockMatrixMultiWrite([bm._bmir for bm in bms], writer)
      )
  
file_path: hail/hail/python/hail/experimental/write_multiple.py
imports: from typing import List, Optional
  from hail import MatrixTable
  from hail.linalg import BlockMatrix
  from hail.ir import MatrixMultiWrite, MatrixNativeMultiWriter, BlockMatrixMultiWrite, BlockMatrixBinaryMultiWriter, BlockMatrixTextMultiWriter, BlockMatrixNativeMultiWriter
  from hail.typecheck import nullable, sequenceof, typecheck, enumeration
  from hail.utils.java import Env
label_desc: Use image node_id 3 for calling a global function with example usage: export_block_matrices(bms, prefix, overwrite, delimiter, header, add_index, compression, custom_filenames) without return types