Hello,
I disagree that Safe Haskell is a failed experiment, and I think with a little work could be a very valuable tool for auditing Haskell source code.
The main change I think we should make is to completely remove the source code annotations, and instead expose an external mechanism (e.g. some sort of file) for specifying which potentially unsafe modules one trusts and which modules should be safe under those assumptions. Then GHC can do the checking and inference just like now, and people can make their own safety configurations depending on the threat model.
Iavor