docs: public static <T> Reader<T> elem(
  		final Function<Object[], T> generator,
  		final String name,
  		final Reader<?>... children
  	) {
  		requireNonNull(name);
  		requireNonNull(generator);
  		Stream.of(requireNonNull(children)).forEach(Objects::requireNonNull);
  
  		return new ElemReader<>(name, generator, asList(children), Type.ELEM);
  	}