Here name allows us to bind the first argument generated by QuickCheck.
The patch uses abs to make sure that the values passed to the property are
natural numbers, and min (abs m) to ensure that the second argument
does not exceed the first.

The main difference is that semantic editors are about locating and changing
a small part of a data structure, while patches are about changing all parts
of the structure. (For partial updates, use the id patch to leave
sub-structures untouched.)