Code from my talks at Scala.IO (2013) and Paris Scala User Group slides can be found here : http://fr.slideshare.net/dgalichet/state-monad