I normally love articles comparing programming languages at real tasks, but this article seems very low quality to me. The author clearly doesn't understand how rust thinks about programs. Instead, they're trying to pretend that rust is an alternate syntax for ocaml and being surprised to find it comes up short. The same article could easily be written the other way around. We could start with a high performance rust…
Notice from the definition of `Term` enum Term { Bool(bool), Not(Box ), ... } that your code simply does not typecheck. `Not` expects a `Box `, not a `Value`. It's also worth noting that one would probably want to consider something like Not(Not(Bool(true))) a valid term, which your implementation wouldn't.
In any case, I stand by all the other points I’ve made in my comment.