any() `self.^parent` instead of looping

Also allows for early breakage out of the loop (`last` as soon as one matched)

Note: I'm not sure if "so" here would help improve the performances?