code: public final <K> Ix<T> distinctUntilChanged(IxFunction<? super T, K> keySelector) {
          return new IxDistinctUntilChanged<T, K>(this, keySelector, EqualityHelper.INSTANCE);
      }
docs: Emits elements from this sequence if each element is different from the previous element
  (according to a null-safe equals() of the extracted key), dropping elements that evaluate
  to the same as the previous.
  <p>
  The result's iterator() doesn't support remove().
  @param <K> the key type
  @param keySelector the function that receives the current element and returns a key that will be compared
  via null-safe equals with the previous element's key
  @return the new Ix instance
  @throws NullPointerException if comparer is null
  @since 1.0