[Haskell-beginners] Haskell's Scrap Your Boilerplate (SYB) - applying transformation only once instead of everywhere