const AST *ast_cap(const AST *a)
{
    AST *ast = new AST(a->loc, AST::CAP);
    ast->cap = a;
    return ast;
}
const AST *ast_cap(const AST *a)
{
    AST *ast = new AST(a->loc, AST::CAP);
    ast->cap = a;
    return ast;
}