#lang plait
(define-type Animal
[Snake (name : Symbol) (weight : Number)
(food : Symbol)]
[Tiger (name : Symbol) (weight : Number)])
(define slim (Snake 'Slimey 10 'rats))
(define anthony (Tiger 'Tony 12))
#;(Snake 10 'Slimey 5)
; => compile error: 10 is not a Symbol
(Snake? (Snake 'Slimey 10 'rats)) ; => #t
(Snake? (Tiger 'Tony 12)) ; => #f
#;(Snake? 10) ; => compile error
(Snake-name slim)
#;(Snake-name anthony) ; run time error