some crazy fun with ast, grasp-squery and recast