code: public static <T> EphemeralConst<T> of(final Supplier<T> supplier) {
  		return new EphemeralConst<>(null, supplier);
  	}
docs: Create a new ephemeral constant with the given value {@code supplier}.
  For every newly created operation tree, a new constant value is chosen
  for this terminal operation. The value is than kept constant for this tree.
  
  @param supplier the value supplier
  @param <T> the constant type
  @return a new ephemeral constant
  @throws NullPointerException if the {@code supplier} is {@code null}