Without parentheses, Python's operator precedence caused `kid.name != "Some"` to only guard the `Not` branch; `And` and `Or` kids named `"Some"` would bypass the Some-handling block and enter recursive convert_rule unguarded.