99 problems is a common (and fun) way of learning new languages (and paradigms). It is inspired of Prolog's elementAt [1,2,3,4,5,6] 6r