Every now and then, I find myself running a program and think “You know what would be really cool? What if, whenever function is called, MyFunction was called instead? Wouldn’t that be great?!” This thought has rolled around in my head for years, but accomplishing it always seemed to come with baggage I didn’t want to deal with, or complexities I didn’t understand. Using linkers and Objective-C runtime tricks to swap functions is something I’ve done with reckless abandon for d...