document the AST API