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