1.3  Example: Data definition for unions

;; Data definition
;; A Shape is either
;;  - a Circle
;;  - a Rectangle
;;  - a Dot

;; We also need structure definitions for the Circle, the Rectangle, and the Dot

;; A Circle is a structure: Posn Number
(define-struct circle (center radius))


;; A Rectangle is a structure: Posn Number Number
(define-struct rect (nw width height))

;; A Dot is a Posn (alternately, could be a struct with one field that
;;   is a Posn)

;; Examples: 
(define cir1 (make-circle p1 10))
(define cir2 (make-circle p2 15))

(define rect1 (make-rect p1 20 30))
(define rect2 (make-rect p2 20 10))

(define dot1 p1)
(define dot2 p2)

;; Examples of shapes:
;; cir1, cir2, rect1, tect2, dot1, and dot2 are examples of shapes