Can we have the list/tree/AST discussion elsewhere and concentrate on the PR?
Sure (well, there's not much to discuss IMO but you can open a new issue for it if you wish).
Regarding the pull request I don't have much more to say than I said before. I'm not completely thrilled by it but I understand the performance problem you are facing so I think it's fine.