anchor.diff:   * Repeat algorithm until some maximum iterations number.
    */
   class GA {
  -  List<num> _population = [];
  +  List<int> _population = [];
   
  -  static const maxX = 1 << 16;
  +  static const xBits = 16;
  +
  +  static const maxX = 1 << xBits;
  +
  +  final random = new Random();
   
     /**
      * Initializes population of [number] chromosomes.
      */
     _initPopulation(int number) {
  -    var random = new Random();
       for (var i = 0; i < number; i++) {
         _population.add(random.nextInt(maxX));
       }
  
positive.code:    * Makes crossover and updates population.
     */
    _crossover() {
  
    }
  
    GA.start([int chromosomes = 4, int steps = 20]) {
  
negative.code:     fitnesses.forEach((fitness) => probabilities.add(fitness / totalFitness));
  
      for (var i = 0; i < _population.length; i++) {
        var test = random.nextDouble(),
            current = 0;
        for (var j = 0; j < probabilities.length; j++) {
          if (test < current + probabilities[j]) {
            newPopulation.add(_population[j]);
            break;
          }
  