[Haskell] looking for interesting examples with recursion + state in which you'd want to prove termination