A Monad Exercise. Actually, it is not monad. Orz...