Code Select
(match-with '(1 2 3)
(((a ? integer?) (b ? integer?) (c ? integer? (fn (i) (< i 3))))
(+ a b c)) ; won't get reached because of guard
(((a ? integer?) (b ? integer?) (c ? integer? (fn (i) (< i 4))))
(* a b c))) ; this matches because all guards return true