module ReAssocPropStruct where import ReAssoc import HsPropStruct import HsPropMaps(mapPD,mapPA,mapPP) instance (ReAssoc i pa,ReAssoc i pp) => ReAssoc i (PD i pa pp) where reAssoc env = mapPD id (reAssoc env) (reAssoc env) instance (ReAssoc i e,ReAssoc i pa,ReAssoc i pp) => ReAssoc i (PA i e t pa pp) where reAssoc env = mapPA id (reAssoc env) id (reAssoc env) (reAssoc env) instance (ReAssoc i e,ReAssoc i p,ReAssoc i pa,ReAssoc i pp) => ReAssoc i (PP i e p t pa pp) where reAssoc env = mapPP id r r id r r where r x = reAssoc env x