(def-type (Shape) (Circle Float) (Rectangle Float Float)) (def (area s) (match s (Rectangle w h) (* w h) (Circle r) (* 3.14159 r))) ;(area (Circle 2.0)) (def s (Circle 2.0)) (area s)