idris-0.10: libs/base/Control/Monad/Identity.idr
module Control.Monad.Identity
public record Identity (a : Type) where
constructor Id
runIdentity : a
implementation Functor Identity where
map fn (Id a) = Id (fn a)
implementation Applicative Identity where
pure x = Id x
(Id f) <*> (Id g) = Id (f g)
implementation Monad Identity where
(Id x) >>= k = k x