Create a Javascript AST type, and separate generation and pretty printing.