WTF is an Abstract Syntax Tree?