Maybe monad implementation in C#