Level 9 of PHPStan flags the use of mixed — every variable must have a known type. It is a large jump from level 8 (strict null checks) and worth the effort on new code.
The pragmatic path: start at level 0, ratchet up one level per release, and use the baseline file to defer existing errors. Bleeding-edge mode catches the strictest issues earlier.
Pair it with phpstan/phpstan-strict-rules for additional checks against unused variables, unreachable code, and unsafe regex.