docs: def intersects(self, rect, edges=False):
          """
          Detect intersections between this rectangle and rect.
  
          Args:
              rect (Rectangle): Rectangle to test for intersections.
              edges (bool): Accept edge touching rectangles as intersects or not
  
          Returns:
              bool: True if the rectangles intersect, False otherwise
          """
          # Not even touching
          if (self.bottom > rect.top or \
              self.top < rect.bottom or \
              self.left > rect.right or \
              self.right < rect.left):
              return False
        
          # Discard edge intersects
          if not edges:
              if (self.bottom == rect.top or \
                  self.top == rect.bottom or \
                  self.left == rect.right or \
                  self.right == rect.left):
                  return False
  
          # Discard corner intersects 
          if (self.left == rect.right and self.bottom == rect.top or \
              self.left == rect.right and rect.bottom == self.top or \
              rect.left == self.right and self.bottom == rect.top or \
              rect.left == self.right and rect.bottom == self.top):
              return False
      
          return True