module Workflow.Pure.Extra ( module Workflow.Pure.Extra , module Control.DeepSeq , module Data.Semigroup , module Control.Monad.Catch , module GHC.Generics , module Data.Data , module Control.Arrow , module Data.Function ) where import Control.DeepSeq (NFData) import Data.Semigroup (Semigroup) import Control.Monad.Catch (MonadThrow(..)) import GHC.Generics (Generic) import Data.Data (Data) import Control.Arrow ((>>>)) import Data.Function ((&)) nothing :: (Monad m) => m () nothing = return () failed :: (MonadThrow m) => String -> m a failed = throwM . userError