{-# LANGUAGE MultiWayIf #-}
module MultiWayIf where
foo
  = if | test1 -> e1
       | test2 witharg -> e2
       | otherwise -> def
bar
  = if | test1 ->
         if | test2 -> e1
            | test3 -> e2
       | test4 -> e3
x = 10
x1
  = if | x < 10 -> "< 10"
       | otherwise -> ""
x2
  = if | x < 10 -> "< 10"
       | otherwise -> ""
x3
  = if | x < 10 -> "< 10"
       | otherwise -> ""
x4 = if | True -> "yes"
x5
  = if | True ->
         if | False -> 1
            | True -> 2
x6
  = if | x < 10 ->
         if | True -> "yes"
            | False -> "no"
       | otherwise -> "maybe"
x7 = (if | True -> 0)
spam = if | () <- () -> ()