AST: Implement map (hope I got all cases)