haskell-switch-mode