code: def test_loop_memory(self):
      def foo(recur, arr, idx):
          return hl.if_else(
              idx > 10, arr, recur(arr.append(hl.str(idx)), idx + 1)
          )
  
      assert hl.eval(
          hl.experimental.loop(
              foo, hl.tarray(hl.tstr), hl.literal(["foo"]), 1
          )
      ) == [
          "foo",
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7",
          "8",
          "9",
          "10",
      ]
  
imports: import numpy
  import hail
  import unittest
  import pytest
  from ..helpers import *
  from hail.utils import new_temp_file
label_desc: Use image node_id 22 for calling the Tests obj's underlying member method code with example usage: obj.test_loop_memory() and returns: hl