IOptionMonad<T>
Represents common interface for all option monads.
Indicates that this monad contains a value.
Returns the value if present; otherwise return default value.
T OrDefault()
If a value is present, returns the value, otherwise return default value.
Returns the value if present; otherwise invoke delegate.
Attempts to extract value from container if it is present.