generated at
Endo型

hs
-- Endo :: (a -> a) -> Endo a newtype Endo a = Endo { appEndo :: a -> a }
ts
type Endo<T> = (x: T) => T;

instance
hs
instance Semigroup a => Semigroup (Endo a) where Endo f <> Endo g = Endo (f . g)
hs
instance Monoid (Endo a) where mempty = Endo id