, [*] - , - . Show :
instance (Show a, Show b) => Show (a,b) where
Some of the approaches to Generics allow you to simulate a common base case, and then have special special cases. SYB3 allowed this - perhaps, unfortunately, SYB3 is not a common practice of the Generics library, it is Data.Data/Data.Generics, which I think is SYB1.
[*] In the wild, the story is a little more complicated because Dario says that UndecidableInstances can turn it on.
source
share