I guess I'm moderately sympathetic to the idea, although if I'm completely honest it seems like a lot of make-work for little tangible benefit.It would make more sense to me if there were also a push to make Read a superclass of Exception, in which case Show should clearly be for serialization (it is possible to make this work for existentially-quantified data, but it would require manual instances).It would make even more sense if Show were meant to be some sort of user-readable string, and we used a different class (paired with Read) for serialization. Unfortunately that ship sailed long ago.