code: public static <E> E first(E[] array) {
          return new FirstElement<E>().apply(new ArrayIterator<>(array));
      }
docs: Yields the first element of the array.
  
  @param <E> the element type parameter
  @param array the array to be searched
  @throws IllegalArgumentException if no element matches
  @return the found element