Option functional type implementation and scenarios
I'm not a fan of your usage example. The line .Place(null) looks really fishy to me. It looks like something, that should not happen in my imaginary web store, like some kind of error, which I probably want to catch and debug. However Optional&lt;T&gt; class hides this potentioal error completely and my application keeps working as if nothing has happened. Now, if null is for some reason a valid value, then I guess its fine. 

Overall, Optinal&lt;T&gt; class looks OK to me, even though I am having troubles coming up with a sceanrio, where I would find it useful. You could probably group public methods together though, it makes class easier to read.

Also I think you are overusing =&gt; operator. To the point where method's body becomes really hard to read. =&gt; is fine when your function is a short one-liner (i.e. IEnumerator IEnumerable.GetEnumerator() =&gt; GetEnumerator();). But you should probably use braces, when it is not (i.e your Place method).