Fixed short-circuiting in `and` and `or` evaluating expression twice