public Exception AsError() { return(Cause.IsPresent() ? Cause.Value : new InvalidOperationException(ToString())); }