JavaScript AST manipulation: reducing indirection, undoing string concealing | Hacker News Reader