rewrite agnostic