Because we could want to know if a polygon contains an ellipse for example. We should use double dispatch like with intersections.