stale ghc-toolchain target file will result in Prelude.read: no parse
Currently, hadrian reads the `ghc-toolchain`-or-`./configure`-generated `.target` files using `read`.
This can give devs an awful `Prelude.read: no parse` error if they upgrade the compiler to a more recent version that extended the `.target` format but forget to reconfigure.
We should avoid `read` and instead provide a custom error...
Turns out this is compounded by hadrian caching dependencies on `.target` files and then reading the stale cached file rather than newly generated ones.
issue