This revision simplifies the representation of edits in rewrite rules. The
simplified form is more general, allowing the user more flexibility in building
custom edit specifications.
The changes extend the API, without changing the signature of existing
functions. So this only risks breaking users that directly accessed the
RewriteRule struct.
"A map"? it is a function.
Maybe "Maps a match result to..."
Also, "concrete errors" probably should be "concrete edits".