don't evaluate unreachable branches