datatype shape

= Circle   of loc * real      (* center and radius *)
| Square   of loc * real      (* upper-left corner and side length; axis-aligned *)
| Triangle of loc * loc * loc (* corners *)