Proxy Generic Function
turtleware.eu
turtleware.eu
Say you have functions A and B that do roughly the same, so you refactor them into a function C and then redefine A() { C(); } B() { C(); }. So far good. But if B() is part of the API, some client could have defined auxiliary methods on B - normally they won't be called when C() is invoked directly. Moreover imagine that C() is also now part of the API and some new client could have defined auxiliary methods on C() - normally they won't be called when B() is invoked directly.
So either you need to specify that the old API is obsolete (so old programs doesn't work), or abandon the idea of exporting the new API. With a proxy generic function you may retain the old API and the new API at the same time without further duplicating functionality.