@luciano I think so. You can redefine `+` in Ruby and not blow everything up because you don't have access to the "real" definition (compiled in). Method swizzling sounds like what you can easily do in Emacs Lisp: which is stomp on a defined function.
But I think a core distinction I ignored is the difference between definitions that are compiled into machine language (`+`) and those that are not. The question was not a good one.