Does it make sense to explore the if-let syntax more seriously? Here's some imaginary example where several different language features could be handled at the same time: https://github.com/cristianoc/rescript-compiler-experiments/pull/1/files#diff-81c7d8224cb32d4696c8931f3c4fa65fd0e1a0b036e6fe9b4fffd730d86d3412R176 Basic, non-nested version, discussed here: https://forum.rescript-lang.org/t/are-if-let-constructs-going-to-be-supported/3373 Precedent for a more advanced version: https://github.com/rust-lang/rust/pull/94927#event-7007028976