Ok, I keep hearing about functional programming allowing you to innovate control structures and certainly monads have a role to play there. I was wondering if you guys would point me to particularly elegant or pleasing idioms. For example, I seem to be pleased to be re-acquainted with the recursive for loop :)