Hi all,

I saw this

  1. instance Monad Maybe where  
  2.     return x = Just x  
  3.     Nothing >>= f = Nothing  
  4.     Just x >>=  = f x  
  5.     fail _ = Nothing  

I am wondering about the implementation of function (>>=). Why don't it be Just x >>= f = Just (f x)?

Any body knows about this?

--Trung