[Haskell-beginners] pattern for tree traversel with a state