Be careful with type hints in callbacks when using array-traverse functions. In some cases, this may silently cause the data type of elements to change. <?php declare(strict_types=1); // Missing fatal TypeError, No side effects $unexpected = array_filter(['123', (string) PHP_INT_MAX], fn (int $item) => true); var_dump($unexpected); // Missing fatal TypeError, Typecasting side effect $unexpectedTyp