but it don't understand the match expression, the if let statement the usage of if like a statement ...
So I want something to compile the rust to a more simple rust.
if let can be simplified to a match. However, match doesn't have a simpler Rust equivalent. It needs to be able to read enum's internal state. How enums are tagged is an implementation detail of the Rust compiler.
So to implement match you'd first need to implement enum in your compiler.
You can let a; without value only if the compiler can statically prove that it will be assigned a value exactly once before it is used. With let mut a; it must be assigned at least once, i.e. it could be reassigned on some paths.