public static <A> Codec<A, AnyGene<A>> ofScalar(
		final Supplier<? extends A> supplier
	) {
		return Codec.of(
			Genotype.of(AnyChromosome.of(supplier)),
			gt -> gt.gene().allele()
		);
	}
Return a scala {@link Codec} with the given allele {@link Supplier} and
allele {@code validator}. The {@code supplier} is responsible for
creating new random alleles.

@see #ofScalar(Supplier, Predicate)
@see AnyGene#of(Supplier)
@see AnyChromosome#of(Supplier)

@param <A> the allele type
@param supplier the allele-supplier which is used for creating new,
       random alleles
@return a new {@code Codec} with the given parameters
@throws NullPointerException if the parameter is {@code null}
jenetics/src/main/java/io/jenetics/engine/Codecs.java