The one, the only, the 500 question purity test... now in Haskell!