Yes, you need to handle the special case with something like `body_nodes = body.type == :begin ? body.children : [body]`, but that's no reason to stay away from using the `*` operator to unpack node contents. It's a great way to make the grammar more clear by naming the different parts, and we use it as much as we can in the cops. Currently, you use `child_node &&` to handle the special case. It's shorter, but it's somewhat obscure (why can a child be `nil`?).