sergun/monads.net — pull request #7 by srogovtsev (2014-10-30 18:20:07+00:00)
Title: Nullable

I attempted to get a better `Nullable` readability from (`source` is a `Nullable`):
````c#
source.With(s => s.GetValueOrDefault() + 1); //s is Nullable
````
to
````c#
source.With(s => s + 1); //s is int
````

Unfortunately, due to C# type inference limitations the best I could get is:
````c#
source.With((int s) => s + 1);
````

But, as could be seen in `DateTime` test, sometimes it could be avoided, leading to beautiful and pure code:
````c#
int result = source.With(s => s.Day);
````

It is up to you to decide whether it's worth the effort.