if Show is the opposite of Read, then serialization is probably the purpose, consistency is more important. re: formatting GHCi output: what if GHCi used another class (not Show) for formatting output? what if it were possible to pass a cmd flag to ghci to specify formatting instance to use in this session?