Banning an instance makes it appear in the haddocks as an instance, so if you're not careful and miss the instance TypeError (...) => in the superclass, you get the opposite impression: that there is actually an instance that you can use.
I don't think TH can generate haddocks yet.