code: def test_coercion(self):
      @typecheck(
          a=transformed((int, lambda x: "int"), (str, lambda x: "str")),
          b=sequenceof(
              dictof(
                  str,
                  transformed(
                      (int, lambda x: "int"), (str, lambda x: "str")
                  ),
              )
          ),
      )
      def foo(a, b):
          return a, b
  
      self.assertRaises(TypeError, lambda: foo(5.5, [{"5": 5}]))
      self.assertRaises(TypeError, lambda: foo(5, [{"5": 5.5}]))
  
      a, b = foo(5, [])
      self.assertEqual(a, "int")
  
      a, b = foo("5", [])
      self.assertEqual(a, "str")
  
      a, b = foo(5, [{"5": 5, "6": "6"}, {"10": 10}])
      self.assertEqual(a, "int")
      self.assertEqual(b, [{"5": "int", "6": "str"}, {"10": "int"}])
  
file_path: hail/hail/python/test/hail/typecheck/test_typecheck.py
imports: import unittest
  from hail.typecheck.check import *
label_desc: Use image node_id 6 for calling the Tests obj's underlying member method code with example usage: obj.test_coercion() and returns: a,  b