code: def parse_type(string_expr, ttype):
      if ttype == hl.tstr:
          return string_expr
      elif ttype == hl.tint32:
          return hl.int32(string_expr)
      elif ttype == hl.tint64:
          return hl.int64(string_expr)
      elif ttype == hl.tfloat32:
          return hl.float32(string_expr)
      elif ttype == hl.tfloat64:
          return hl.float64(string_expr)
      elif ttype == hl.tbool:
          return hl.bool(string_expr)
      elif ttype == hl.tcall:
          return hl.parse_call(string_expr)
      elif isinstance(ttype, hl.tlocus):
          return hl.parse_locus(string_expr, ttype.reference_genome)
      elif isinstance(ttype, hl.tinterval) and isinstance(
          ttype.point_type, hl.tlocus
      ):
          return hl.parse_locus_interval(
              string_expr, ttype.point_type.reference_genome
          )
      else:
          return hl.parse_json(string_expr, ttype)
  
file_path: hail/hail/python/hail/ir/utils.py
imports: from typing import Optional, List, Any, Tuple
  import hail
  from hail.utils.java import Env
  from hail.expr.types import tint32, tint64
label_desc: Use image node_id 10 for calling a global function with example usage: parse_type(string_expr, ttype) and returns: string_expr, hl, hl, hl, hl, hl, hl, hl, hl, hl