&gt; Why would you care about selecting the branch in compile time?<p>I wouldn&#x27;t. Pattern matching is primarly a conditional, that&#x27;s why I focused
on if-else.<p>&gt; We&#x27;re talking about language features semantically equivalent to pattern matching, and, turns out, there are none.<p>Why would you think that pattern matching revolves around compile-time
guarantees? It does not. It&#x27;s primarly a conditional, everything else is an
optional, additional effect. You can have pattern matching in dynamically
typed languages (Lisp, Erlang).