(case my-enum (string (do-string my-enum)) (bool (do-bool my-enum)) (proc (my-enum)) (number (do-number my-enum)) (else (! "No match found in case")))