code: def test_map_accuml():
      a = relay.TypeVar("a")
      b = relay.TypeVar("b")
      c = relay.TypeVar("c")
      expected_type = relay.FuncType(
          [
              relay.FuncType([a, b], relay.TupleType([a, c])),
              a,
              rlist(b),
          ],
          relay.TupleType([a, rlist(c)]),
          [a, b, c],
      )
      assert prelude.mod[map_accuml].checked_type == expected_type
  
      acc = relay.Var("acc", nat())
      x = relay.Var("x", nat())
      add_to_acc = relay.Function(
          [acc, x], relay.Tuple([add(x, acc), x])
      )
  
      vals = cons(
          make_nat_expr(prelude, 1),
          cons(
              make_nat_expr(prelude, 2),
              cons(make_nat_expr(prelude, 3), nil()),
          ),
      )
      res = eval(map_accuml(add_to_acc, z(), vals))
  
      sum = count(res[0])
      new_vals = to_list(res[1])
  
      assert sum == 6
      assert len(new_vals) == 3
      assert count(new_vals[0]) == 3
      assert count(new_vals[1]) == 2
      assert count(new_vals[2]) == 1
  
imports: import pytest
  import tvm
  from tvm import relay
  from tvm.relay import testing
  from tvm.relay.backend.interpreter import ConstructorValue
  from tvm.relay import create_executor
  from tvm.relay.prelude import Prelude, StaticTensorArrayOps
  from tvm.relay.testing import count, make_nat_value, make_nat_expr
  import numpy
label_desc: Use image node_id 28 for calling a global function with example usage: test_map_accuml() without return types