typeClass
ArbitraryDerivedOrphans
ShrinkDerivedOrphans