iSynaptic/iSynaptic.Commons — pull request #1 by tkellogg (2011-12-27 00:02:48+00:00)
Title: True false operators for Maybe<T>

I added `true` & `|` operators for `Maybe` which gives `Maybe.NoValue` a meaning that feels more like `None` in python or `nil` in ruby (more like nil than None). Now you can borrow ruby's initialization syntax:

```csharp
private Maybe theAnswer;
private void DoSomething()
{
// Initialize theAnswer to 42, if it doesn't already have a value
theAnswer |= 42;
}
```

likewise, you can also use `||` for null coersion now:

```csharp
list.Select(x => x || 0);
```

I'm aware this is already available through other iSynaptic facilities, but this gives it a very fluent syntax and makes C# start to feel even more like those scripting languages you've used.