I've now added a dataCast1 method to this instance in HEAD; casting should now work as expected.
Cheers,
Pedro
On 20 Sep 2012, at 09:40, José Pedro Magalhães wrote:
instance Data a => Data (Bag a) where
gfoldl k z b = z listToBag `k` bagToList b -- traverse abstract type abstractly
toConstr _ = abstractConstr $ "Bag("++show (typeOf (undefined::a))++")"
gunfold _ _ = error "gunfold"
dataTypeOf _ = mkNoRepType "Bag"
Btw, where is this instance defined?
GHCROOT/compiler/utils/Bag.lhs, lines 266-270 (current git-repo HEAD and many versions previously).
Ph.