Earlier quoted context omitted.
There is nothing wrong with using equals for assignment, the language designers just have to disallow assignments in if conditions.
There's nothing wrong with using assignment in if conditions. For example, `if let Some(thing) = computation_that_may_fail { ... }`.
Litmus test: if this was rendered into S-expressions, the let would stay, but the = would disappear.