And the author's actual rust solution using the 0, 1 as a proxy for the port with a match to resolve it, has effectively implemented the enum solution but without leveraging the language to do it, which means incorrect programs could use any integer value and the compiler wouldn't know, and the author has to handle that case, which they hack with empty block for that case. (relying on knowing they haven't in their own code, basically undoing the whole point of Rust compiler strictness)