code: def test_constructor_call():
      mod = tvm.IRModule()
      box, constructor = initialize_box_adt(mod)
  
      box_unit = constructor(relay.Tuple([]))
      box_constant = constructor(relay.const(0, "float32"))
  
      func = relay.Function([], relay.Tuple([box_unit, box_constant]))
      mod["main"] = func
      mod = infer_mod(mod)
      ret_type = mod["main"].checked_type.ret_type.fields
      # NB(@jroesch): when we annotate spans the ast fragments before
      # annotation the previous fragments will no longer be directly equal.
      box = mod.get_global_type_var("box")
      expected1 = box(relay.TupleType([]))
      expected2 = box(relay.TensorType((), "float32"))
      assert ret_type[0] == expected1
      assert ret_type[1] == expected2
  
imports: import pytest
  import tvm
  from tvm import IRModule, parser, relay, te
  from tvm.relay import analysis, op, transform
  from tvm.relay.op import op
  import numpy
label_desc: Use image node_id 22 for calling a global function with example usage: test_constructor_call() without return types