The MultiWayIf GHC extension introduces a kind of if expression that allows more than two branches, using the same syntax as pattern guards.
λ> x = 5
λ> if | x < 3 -> "small"
> | x < 7 -> "medium"
> | otherwise -> "large"
Join Type Classes for courses and projects to get you started and make you an expert in FP with Haskell.