Inverting the origin and the corner of a rectangle changes the result of intersection. I guess it's a bug, though I imagine that changing the code of Rectangle is likely to have deep/undesired consequences..
(0@0 corner: 100@100) intersects: (-50@ -50 corner: 80@80) ==> true (100@100 corner: 0@0) intersects: (-50@ -50 corner: 80@80) ==> false !!!! Noury