A simple question: why is if f(X) =:= 42 -> .. end not allowed, but Y = f(X), if Y =:= 42 -> .. end seems to be same to me and working. Is it to have all f() evaluations (which might show up in other clauses of the if again) before the if statement? Regards, Marc