implement polymorphic pairs :-)
CAVEAT: the price I pay is some unsafeCoerce

But this works now:

*Data.Generic.Diff> diffP (True, False) (False, False)
Ins (False, False) $ Del (True, False) $ End
*Data.Generic.Diff> diffP (True, False) (True, False)
Cpy (True, False) $ End
*Data.Generic.Diff> compress $ diffP (True, False) (True, False)
CpyTree $ End