code: @NotNull
      public Stream<T> distinct() {
          return new Stream<T>(params, new ObjDistinct<T>(iterator));
      }
docs: Returns {@code Stream} with distinct elements (as determined by {@code hashCode} and {@code equals} methods).
  
  <p>This is a stateful intermediate operation.
  
  <p>Example:
  <pre>
  stream: [1, 4, 2, 3, 3, 4, 1]
  result: [1, 4, 2, 3]
  </pre>
  
  @return the new stream