;;; COMPILE-TIME TYPE-CHECKING FOR MULTIMETHODS ;; These macros create a multimethod with compile-time type checking. ;; If the multimethod is called with literal arguments, the correct ;; method expansion will selected at compile-time and inlined. ;; ;; If the argument types cannot be determined at compile time, it will ;; fall back to a normal multimethod with run-time dispatch. ;; ;; This could