New validator

This still needs some comments and tests but the basic structure is there. Tear it up.
Oh right, because you are navigating nested structs, duh. I was confusing myself with scoping