in reply to passing arguments

I like your approach. It's clean and simple. However, I don't agree with your basic rule : Never write a function that takes more than one argument. Never is a pretty strong word and always following this rule can lead to some complicated solutions to simple problems. Still, for more complex problems, I think your suggestions could save a lot of people some headaches.