HHHHhhh what a bunch of boring mechanical translation. And boilerplate. Yeesh. Ast nodes x_x