code: public static <T> Reader<T> elem(
  		final String name,
  		final Reader<? extends T> reader
  	) {
  		requireNonNull(name);
  		requireNonNull(reader);
  
  		return elem(
  			v -> {
  				@SuppressWarnings("unchecked")
  				T value = v.length > 0 ? (T)v[0] : null;
  				return value;
  			},
  			name,
  			reader
  		);
  	}
docs: Return a {@code Reader} which reads the value from the child elements of
  the given parent element {@code name}.
  <p>
  <b>XML</b>
  <pre> {@code <min><property name="size">1234<property></min>}</pre>
  
  <b>Reader definition</b>
  <pre>{@code
  final Reader<Property> reader =
  elem("min",
  elem(
  v -> {
  final String name = (String)v[0];
  final Integer value = (Integer)v[1];
  return Property.of(name, value);
  },
  "property",
  attr("name"),
  text().map(Integer::parseInt)
  )
  );
  }</pre>
  
  @param name the parent element name
  @param reader the child elements reader
  @param <T> the result type
  @return a node reader
  @throws NullPointerException if one of the given arguments is {@code null}