I would simply remove the loop example from the PEP.
I agree with the general definition that
> There must be exactly one assignment to a final name.
In Pyre this is guaranteed to hold even if you have a final in a loop. In Mypy it’s not and therefore the error from the example makes sense for your particular implementation but not for ours.