diff --git a/pymbolic/mapper/__init__.py b/pymbolic/mapper/__init__.py
index 596a99755e7a26d19522e0efadf65248de98d94b..f0d060e7f0be4735b93ff861a0fcb05e5f9fce0c 100644
--- a/pymbolic/mapper/__init__.py
+++ b/pymbolic/mapper/__init__.py
@@ -963,7 +963,7 @@ class IdentityMapper(Mapper[Expression, P]):
         import numpy
         result = numpy.empty(expr.shape, dtype=object)
         for i in numpy.ndindex(expr.shape):
-            result[i] = self.rec(expr[i], *args, **kwargs)  # type: ignore[assignment]
+            result[i] = self.rec(expr[i], *args, **kwargs)
 
         # True fact: ndarrays aren't expressions
         return result  # type: ignore[return-value]
diff --git a/pymbolic/mapper/evaluator.py b/pymbolic/mapper/evaluator.py
index 0d02156b1f12cce97da89e98bcca4791eadabeca..1dab45cbb0c3eaff234927830897d61883df27b1 100644
--- a/pymbolic/mapper/evaluator.py
+++ b/pymbolic/mapper/evaluator.py
@@ -163,7 +163,7 @@ class EvaluationMapper(Mapper[ResultT, []], CSECachingMapperMixin):
         import numpy
         result = numpy.empty(expr.shape, dtype=object)
         for i in numpy.ndindex(expr.shape):
-            result[i] = self.rec(expr[i])  # type: ignore[call-overload]
+            result[i] = self.rec(expr[i])
         return result  # type: ignore[return-value]
 
     def map_multivector(self, expr: MultiVector) -> ResultT: