protected static bool EqualOperator(ValueObject left, ValueObject right) => (ReferenceEquals(left, null) ^ ReferenceEquals(right, null)) is false && (ReferenceEquals(left, null) || left.Equals(right));
protected static bool NotEqualOperator(ValueObject left, ValueObject right) => EqualOperator(left, right) is false;