private bool EqualsCore(ValueObject <T> other) { return(GetEqualityComponents().SequenceEqual(other.GetEqualityComponents())); }