public override int GetHashCode() { unchecked { return((ValueOrNull.GetHashCode() * 397) ^ HasValue.GetHashCode()); } }
public override string ToString() { return(HasValue ? "Some<" + typeof(T).Name + ">(" + (ValueOrNull == null ? "null" : ValueOrNull.ToString()) + ")" : "None<" + typeof(T).Name + ">()"); }