+CAVEATS
+ Preexistent definitions of a sub whose name is handled by Sub::Op are
+ restored at the end of the lexical scope in which the module is used.
+ But if you define a sub in the scope of action of Sub::Op with a name
+ that is currently being replaced, the new declaration will be
+ obliterated at the scope end.
+
+ Function calls without parenthesis inside an "eval STRING" in the scope
+ of the pragma won't be replaced. I know a few ways of fixing this, but
+ I've not yet decided on which.
+