Slides and code from my presentation at Stavanger functional programming meetup 13. June 2013