Haskell MultiWayIf extension: When is it considered useful syntactic sugar?
Unsurprisingly, it's mainly useful when the if is not the top-level expression. Say:

forM_ [1..100] $ \i -&gt;
  putStrLn $ if | i `mod` 15 == 0  -&gt; "FizzBuzz"
                | i `mod` 3 == 0   -&gt; "Fizz"
                | i `mod` 5 == 0   -&gt; "Buzz"
                | otherwise        -&gt; show i


I happen across similar cases quite often - up to this point this required either deep if trees or mis-using case in some way.