Hmm, uznávám, zajímavé. Pro mě dost nezvyk (což není argument).
V Rustu je konstrukce, říkají tomu if-let-expression. Zatím je to dost oškubaný, ale mají s tím velké plány. A mohlo by se to vzdáleně podobat tomu co popisuješ. Minimálně já jsem na to narazil, když jsem chtěl nějak zkrátit a pročistit if-expression.