Initial port of ast.js to ast.pyj