Did he ride a Turner by any chance?
well it wouldn’t be me – look back at my reasoning for TDD and the fact that it helps you meet you release goals without necessarily having perfect code.
If something has to be coded up in a non-optimal way to meet the deliverable then it doesn’t matter – the importance is that the test works.
Once delivered you then refactor to make the code better, before you build on it again – otherwise the entropy of the system will increase.
If a code review at the end pointed out that you had done it the wrong way or that the code was iffy, then so what? Any code review is at the start of the next phase, probably with your pair as you design it.
If I am writing code that will be in a multithreaded/asynch environment I will stress a bit more about the code being right – it is still pretty hard to properly test such code so you will be doing you best to write it correctly in the first place.