I have often wondered why C hasn't any kind of function overloading. The typical answer is that we don't want to live with name mangling in C — the hell of the C++ — that would break a lot of things which must stay as they are. I agree… except that you don't need to implement it the C++ way when you have a bright example like Fortran.
There's an italian weekly magazine (La settimana enigmistica) that once in a while publishes “A puzzle with Susi”. Susi is a cute and smart girl who accepts to solve challenges her friend Gianni is used to throw to her.
In one of my italian blog I've tackled two (so far) of these puzzles using Prolog and Haskell.
Are you using VanDyke's SecureCRT? Let's suppose you have forgot a password of one of your configured sessions: you can still log-in, since SecureCRT has stored it, but if you need to use that password from elsewhere and you can't remember it, what can you do?