public bool?AreNonNullUnequal(MaybeX <T> rhs) => this.HasValue && rhs.HasValue ? !this._value.Equals(rhs._value) : null as bool?;
public bool Equals(MaybeX <T> other) => _value != null ? other._value != null && (_value == other._value || _value.Equals(other._value)) : other._value == null;