Generate classes based on the mozilla parser api

- now can filter based on types
I wonder what the `or []` is for. Do we every return a non-[] falsy value from _children()?