Nice. If I had a bit more time at the moment I'd try writing
this in Haskell just as an exercise to see what it would
look like in a real functional language. :) I might try
it a months or so time, once I've finished exams.
I have to agree with you that all programmers should try
their hand at all the programming styles, even if it's just
so they can experience the joy of functional programming
first hand!