code: def annotate_all(
      mt, row_exprs={}, col_exprs={}, entry_exprs={}, global_exprs={}
  ):
      r"""Equivalent of _annotate_all, but checks source MatrixTable of exprs"""
      exprs = {**row_exprs, **col_exprs, **entry_exprs, **global_exprs}
      for key, value in exprs.items():
          if value.dtype in (hl.tfloat64, hl.tint32):
              assert (
                  value._indices.source == mt
              ), "Cannot combine expressions from different source objects."
      return mt._annotate_all(
          row_exprs, col_exprs, entry_exprs, global_exprs
      )
  
imports: import hail
  from hail.typecheck import typecheck, oneof, nullable
  from hail.expr.expressions import expr_float64, expr_int32, expr_array, expr_call
  from hail.matrixtable import MatrixTable
  from hail.table import Table
  from hail.utils.java import Env
  import numpy
  import pandas
  import scipy.stats
label_desc: Use image node_id 10 for calling a global function with example usage: annotate_all(mt, row_exprs, col_exprs, entry_exprs, global_exprs) and returns: mt