class Semigroup a => Monoid a where mempty :: m -- 항등원 mappend :: m -> m -> m -- 이항연산 mconcat :: [m] -> m mconcat :: foldr mappend mempty