Interesting! I've use the ast library a fair bit but usually for analysis rather than actually modifying the ast. I'd also never realised that slots provided a 'fast-path' for function calls.
Edit: Ooh interesting question at the end about compatibility when upgrading versions. My previous project was around detecting these changes, it's not an easy problem to solve
Edit: Ooh interesting question at the end about compatibility when upgrading versions. My previous project was around detecting these changes, it's not an easy problem to solve