diff --git a/arraycontext/container/traversal.py b/arraycontext/container/traversal.py
index 99b74a956b76ae6e6aba32a64fe75257e1b3d830..c0fede992fb8a42bb1ff3b1626ee44c23d564077 100644
--- a/arraycontext/container/traversal.py
+++ b/arraycontext/container/traversal.py
@@ -271,7 +271,7 @@ def _keyed_map_array_container_impl(
         if type(_ary) is leaf_cls:  # type(ary) is never None
             return f(keys, _ary)
         elif is_array_container(_ary):
-            def _tuple_if_not_tuple(x: Any) -> tuple:
+            def _tuple_if_not_tuple(x: Any) -> Tuple[Union[str, int], ...]:
                 if not isinstance(x, tuple):
                     assert isinstance(x, (str, int))
                     return x,