A better fix might be to push down the no-TH machinery to the reflection package and add back the dependency.
The core of reflection should work fine without TH. It is just the splices for `int`, `nat` and the liftings of numeric instances that let you write `$(5)` to splice a type Nat that need to be disabled.
Also, it might be worth considering if thereis a problem with building the actual template-haskell library on stage1 or merely with using the LANGUAGE pragma for TemplateHaskell on stage1.
If it is just the latter I'd say you might consider including template-haskell, but hunting for the uses of the TemplateHaskell pragma instead.
That would excise a lot less tissue from the libraries. (e.g. reflection could run unmodified).
As an aside,
At least fix-doctest-float-implementations.diff isn't needed any more. We merged something like it a while ago.