code: def pop(self) -> Square:
          
          if not self.mask:
              raise KeyError("pop from empty SquareSet")
  
          square = lsb(self.mask)
          self.mask &= (self.mask - 1)
          return square
docs: Removes a square from the set and returns it.
  
          :raises: :exc:`KeyError` on an empty set.