prop_Monoid :: (Eq a, Show a, Arbitrary a, Monoid a) => T a -> PropBox
prop_Monoid t = prop_monoid (tie t) mappend
  where tie :: Monoid a => T a -> a
        tie _ = mempty
prop_Monoid :: (Eq a, Show a, Arbitrary a, Monoid a) => T a -> PropBox
prop_Monoid t = prop_monoid (tie t) mappend
  where tie :: Monoid a => T a -> a
        tie _ = mempty
prop_Monoid t = prop_monoid (tie t) mappend
  where tie :: Monoid a => T a -> a
        tie _ = mempty