if.py complete

The with_if_fun I didn’t get to be honest. The rest I got first try.
But this escaped me, in the same way counterexamples to projective
non-free modules tends to escape me on first ask. However, I do get the
point. The point being 1/0 raises an error because it gets evaluated,
but in the exercises’ reference statement does not bother to do that,
since it just doesn’t evaluate the true statement since the False
forces it into the second case.