Slide 146
Slide 146 text
ಉܕͷྫ
data Blog = Blog { authors :: [Author]
, articles :: [Article] }
deriving (Generic)
deriving (Semigroup, Monoid)
via Blog `SameRepAs` ([Author], Dual [Article])
{-
ghci> mconcat [Blog ["1"] ["1"], Blog ["2"] ["3","4"]]
Blog {authors = ["1","2"], articles = ["3","4","1"]}
-}