I think we both agree that monkeypatching isn't infinitely precise. Say the
user wants to modify the way *half* of the functions in the module use
`sum`. Unless the module is prepared for it, the only solution is
re-writing half the module functions (with or without monkeypatching) - Lua
is not Lisp.
If I understood you correctly, your opinion is: since it's difficult to use
properly, you want "every change to have the least impact possible" - if
you want to make lots of changes, you'll need lots of monkeypatches. I can
understand that.