data Region = ...
| HalfPlane Coordinate Coordinate
...
(HalfPlane p1 p2) `containsR` p = p `isLeftOf` (p1,p2)
data Region = ...
| HalfPlane Coordinate Coordinate
...
(HalfPlane p1 p2) `containsR` p = p `isLeftOf` (p1,p2)