I object strongly to the proposal http://hackage.haskell.org/trac/haskell-prime/wiki/DoAndIfThenElse because it solves problems with syntactic sugar with even more sugar, where no sugar is needed at all. In order to solve the trouble I propose enhancements to teachers, compilers and standard libraries: 1. 'if' syntax should be teached as if a then b else c This indentation makes pretty clear, what is condition, and what is the result in both cases. It just resembles case a of True -> b False -> c . 2. Add 'if :: Bool -> a -> a -> a' or '(?) :: Bool -> (a,a) -> a' or both to the standard library, as discussed in the thread starting with http://www.haskell.org/pipermail/haskell-cafe/2006-July/016914.html 3. If a compiler suspects that a parsing problem is related to 'do' and 'if' it should suggest indentation if a then b else c or even better, the usage of if- or (?)-function. So, please add this to the 'Cons' list.