Appears to construct AST's correctly. May have some issues with list's being backwards