Option types for C# with LINQ support and rich fluent syntax for many popular uses:
var maybeOne = "one".ToMaybe();
var maybeAnother = Maybe<string>.Nothing;
var maybeBoth =
from one in maybeOne
from another in maybeAnother
select one + another;
maybeBoth.Match(
both...
More information

Implements an option type (Strilanc.Value.May<T>) that encourages usage based on pattern matching rather than ForceGetValue. Also includes utility methods for producing, consuming and transforming May<T>.
Note on null: May<T> treats null like any other value. May.NoValue is distinct from null, and...
More information

Provides a class and a few extension methods to facilitate common operations with values that may or may not exist.
Traditionally, programmers often use `null` references to represent values that "aren't there", but the problem is that this was never their intended purpose.
- Languages like C#...
More information