use Safe Haskell