An enum and an integer convert both ways when you write the conversion down, and not otherwise. Zero instructions in both directions -- emit's cast already reduces an enum to its i32 before choosing an opcode -- so what this costs is only that you have to say it. The property worth keeping is kept: a bare integer is still refused for an enum parameter, so :spcae is still an error at the call site. What is gone is the wall, where an index could not reach an enum parameter at all and the second declare-c escape was closed too.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%