Messing with abstract syntax trees is fun but also slow