* If the right hand side of the expression includes a method which
raises or otherwise exits the control flow we cannot kill that
mutation. However we can mutate the left hand side, and then
mutate the whole node so it is negated; in the worst case both
those mutations will be equivalent, but in the best case the rhs
will return a boolean which will be negated.