docs: def fitness(self, width, height):
          """Search for the best fitness 
          """
          assert(width > 0 and height >0)
          if width > max(self.width, self.height) or\
              height > max(self.height, self.width):
              return None
  
          # If there is room in wasted space, FREE PACKING!!
          if self._waste_management:
              if self._waste.fitness(width, height) is not None:
                  return 0
  
          # Get best fitness segment, for normal rectangle, and for
          # rotated rectangle if rotation is enabled.
          rect, fitness = self._select_position(width, height)
          return fitness