public static <
			A,
			G extends Gene<A, G>,
			C extends Chromosome<G>
		>
		Writer<io.jenetics.Genotype<G>> writer(final Writer<? super C> writer) {
			return elem(
				ROOT_NAME,
				attr(LENGTH_NAME).map(io.jenetics.Genotype::length),
				attr(NGENES_NAME).map(io.jenetics.Genotype::geneCount),
				elems(writer).map(gt -> cast(ISeq.of(gt)))
			);
		}
Create a writer for genotypes of arbitrary chromosomes. How to write the
genotype chromosomes is defined by the given {@link Writer}.

@param writer the chromosome writer
@param <A> the allele type
@param <G> the gene type
@param <C> the chromosome type
@return a new genotype writer
@throws NullPointerException if the given chromosome {@code writer} is
        {@code null}
jenetics.xml/src/main/java/io/jenetics/xml/Writers.java