module Id where type I a = a unitI :: a -> I a unitI a = a bindI :: I a -> (a -> I b) -> I b m `bindI` k = k m