An Option<T> for C# based on JaredPar's RantPack