;; Student 1 name
;; Student 2 name

;; Data Models and Examples of Data

;; A boa is a (make-boa symbol number symbol)
(define-struct boa (name length eats))

(make-boa 'Slinky 30 'pets)
(make-boa 'Slim 20 'mice)

;; A dillo is a (make-dillo number boolean)
(define-struct dillo (length dead?))

(make-dillo 15 true)
(make-dillo 12 false)

;; An animal is either
;;   - a boa, or
;;   - a dillo

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 

;; portable? : animal number -> boolean
;; determine whether animal shorter than given length
(define (portable? an-ani len)
  (cond [(boa? an-ani) (>= len (boa-length an-ani))]
        [(dillo? an-ani) (>= len (dillo-length an-ani))]))

;; Test Cases

(check-expect (portable? (make-boa 'Slinky 30 'pets) 15) false)
(check-expect (portable? (make-boa 'Slinky 30 'pets) 30) true)
(check-expect (portable? (make-dillo 15 true) 10) false)
(check-expect (portable? (make-dillo 15 true) 20) true)