The Genotype struct represents the genetic makeup of an individual. It is a collection of Chromosome instances, it is
essentially a light wrapper around a Vec of Chromosomes. The Genotype struct, however, has some additional functionality
and terminology that aligns with the biological concept of a genotype.
In traditional biological terms, a Genotype is the set of genes in our DNA that determine a specific trait or set of traits.
The Genotype is the ‘genetic’ part of the individual that is being evolved by the genetic algorithm.
We can think of a Genotype as a matrix of strucs which implement the Gene trait where each row is a Chromosome.
For example, if we have a Genotype with 2 Chromosomes, each with 3 Genes, it is represented as follows: