Monad study in CSharp