code: def test_lazy(self):
      foo_type = lazy()
  
      class Foo:
          def __init__(self):
              pass
  
          @typecheck_method(other=foo_type)
          def bar(self, other):
              pass
  
      foo_type.set(Foo)
  
      foo = Foo()
      foo2 = Foo()
  
      foo.bar(foo)
      foo.bar(foo2)
  
      self.assertRaises(TypeError, lambda: foo.bar(2))
  
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 5 for calling the Tests obj's underlying member method code with example usage: obj.test_lazy() without return types