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