Монада для Const?

Почему нет экземпляра монады для Control.Applicative.Const? Правильно ли следующее определение или оно нарушает законы монад?

instance Monoid a => Monad (Const a) where
  return _ = Const mempty
  (Const x) >>= _ = Const x

А вы можете придумать какое-нибудь полезное приложение?

9
задан Landei 17 July 2012 в 20:29
поделиться