rewrote rule tree walker to make it more sensitive to structure ( used to ignore container type like array vs list )