Proposal for the Option/MayBe datatype

I’ve got a corner case where I wanted both null and Option<T> together, but I was happy to borrow the code from the Internet and really I might have been better to create a custom sealed class hierarchy.
I used a map as a cache of results of attempts to find something: null meant “not looked yet”, None meant “looked and not found”, Some<T> meant “looked and found”. But I’m not taking advantage of map etc. here. I chose to stick with the usual Option data type rather than invent my own names because I thought it would be more familiar, but perhaps misleadingly so, so maybe that was the wrong choice.