UNB/ CS/ David Bremner/ teaching/ cs4613/ lectures/ lecture1/ snippet-018.rkt
#lang plait
(define-type Animal
  [Snake   (name : Symbol) (weight : Number) (food : Symbol)]
  [Tiger   (name : Symbol) (weight : Number)])

(define (animal-food a)
  (type-case Animal a
    [(Snake n w f) f]
    [else (error 'animal-food
                 "data unavailable")]))

(animal-food (Snake 'Slimey 10 'rats))
(animal-food (Tiger 'Tony 12))