haskell 9 refactors