code: def raise_unless_column_indexed(caller, expr):
      if expr._indices.source is None:
          raise ExpressionException(
              f"{caller}: expression must be column-indexed"
              f", found no indices (no source)."
          )
      if expr._indices != expr._indices.source._col_indices:
          raise ExpressionException(
              f"{caller}: expression must be column-indexed"
              f", found indices ({list(expr._indices.axes)})."
          )
  
file_path: hail/hail/python/hail/expr/expressions/expression_utils.py
imports: from typing import Set, Dict
  from hail.typecheck import typecheck, setof
  from .indices import Indices, Aggregation
  from ..expressions import Expression, ExpressionException, expr_any
  from ...ir import MakeTuple
label_desc: Use image node_id 12 for calling a global function with example usage: raise_unless_column_indexed(caller, expr) without return types