I think the use of the names `xxx_child` does not help to understand the meaning of this logic. For instance, in `regexp` node case, the `last_child` means `regopt` node but it does not indicate such.