Question: why if else is bad?
Answer: It evaluates to a new value, but it has no effects on anything else. Because of this, it works in a substitution model. Imperative If statements are evil because they force you to create side-effects when you don't need to.