docs: def _merge_bee(self, bee):
          '''Shifts a random value for a supplied bee with in accordance with
          another random bee's value
  
          Args:
              bee (EmployerBee): supplied bee to merge
  
          Returns:
              tuple: (score of new position, values of new position, fitness
                  function return value of new position)
          '''
  
          random_dimension = randint(0, len(self._value_ranges) - 1)
          second_bee = randint(0, self._num_employers - 1)
          while (bee.id == self._employers[second_bee].id):
              second_bee = randint(0, self._num_employers - 1)
          new_bee = deepcopy(bee)
          new_bee.values[random_dimension] = self.__onlooker.calculate_positions(
              new_bee.values[random_dimension],
              self._employers[second_bee].values[random_dimension],
              self._value_ranges[random_dimension]
          )
          fitness_score = new_bee.get_score(self._fitness_fxn(
              new_bee.values,
              **self._args
          ))
          return (fitness_score, new_bee.values, new_bee.error)