hs-- 結合律
assocL2R :: Product (Product a b) c -> Product a (Product b c)
assocL2R (Product (Product a b) c) = Product a (Product b c)
-- 結合律
assocR2L :: Product a (Product b c) -> Product (Product a b) c
assocR2L (Product a (Product b c)) = Product (Product a b) c
-- 交換律
commute :: Product a b -> Product b a
commute (Product a b) = Product b a
mldatatype person = Person of string * int
hsdata Product a b = Product a b