# Genetic Algorithms in Elixir:repair\_chromosome (page 104)

**URL:** <https://forum.devtalk.com/t/genetic-algorithms-in-elixir-repair-chromosome-page-104/10194>\
**Category:** PragProg Customers\
**Tags:** book-genetic-algorithms-in-elixir, errata\
**Created:** [4 June 2021 02:45 UTC](https://forum.devtalk.com/t/genetic-algorithms-in-elixir-repair-chromosome-page-104/10194 "2021-06-04T02:45:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![adkelley](https://forum.devtalk.com/user_avatar/forum.devtalk.com/adkelley/32/2873_2.png) [@adkelley](https://forum.devtalk.com/u/adkelley)\
**Post date:** [4 June 2021 02:45 UTC](https://forum.devtalk.com/t/genetic-algorithms-in-elixir-repair-chromosome-page-104/10194/1 "2021-06-04T02:45:38Z")

</div>

`repair_chromosome` should not pass the Enum (i.e., `chromosome`) to `repair_helper`. Rather, it should pass the set `genes`.

Change:

```auto
def repair_chromosome(chromosome) do
  genes = MapSet.new(chromosome.genes) 
  new_genes = repair_helper(chromosome, 8) 
  %Chromosome{chromosome | genes: new_genes}
end

```

to:

```auto
def repair_chromosome(chromosome) do
  genes = MapSet.new(chromosome.genes) 
  new_genes = repair_helper(genes, 8) 
  %Chromosome{chromosome | genes: new_genes}
end

```
