All these things are not necessary if we just create a separate variable:
I suppose most of them look about like what I was expecting, so I wasn't exactly fazed.
To be fair, I guess the separate variable does avoid *any* changes to tpf.c (right?) so I can see the argument for it being the simpler solution.