; when you try to actually use the first one it will not compile either (define-foreign-type some-enum "some_enum") (define-foreign-variable val1 "some_enum" "val1") val1 ; that is what the latter expands to, more or less