
Hello Francesco,
`Map k v` is already an instance of `Monoid` (when `v` is an instance of `Ord`), are you sure you need to write another one?
Thanks for your answer! My "Values" is a Monoid, however it seems that the Graph cannot properly be seen correctly as a Monoid using mconcat does not (properly) work, meaning that <> is not correctly applied to the someMonoidsso instead of type G = Map Text someMonoid mconcat [gs] I have to write: foldr (Map.unionWith (<>)) Map.empty [gs] This passes the tests. Same Problem with g1 <> g2 --(Does not work properly) and Map.unionWith (<>) g1 g2 --(Does work) I have declared someMonoid myself, do I need to declare something special about it? I feel like my G is messing up with <> being about him, or about someMonoid A broken down piece of code is: importData.MapasMap dataSum=SumIntderiving (Eq,Show) instanceSemigroupSumwhere (<>) (Sum a) (Sum b)=Sum(a + b) instanceMonoidSumwhere mempty =Sum0 typeG=Map.MapStringSum And to verify my problem: GHCI > v = Map.singleton "A" (Sum 1) GHCI > u = Map.singleton "A" (Sum 1) GHCI> c= v <> u GHCI> Map.lookup "A" c Just (Sum 1) but I want Just (Sum 2) thanks Leonhard