Package textpatch applies ordered exact search-replace pairs to a text
atomically: each pair's Old must match exactly once in the text as it
stands when that pair applies, pairs apply in sequence, and the first
failing pair aborts the whole application (20260826-120330-d-tac-8f8).
Apply returns text with every pair applied in order, or an error naming the
first failing pair — Old empty, absent, or matching more than once. On
error the input text is unchanged by contract: nothing partial escapes.