-- | This module defines the 'ValidateT' monad transformer and 'MonadValidate' typeclass. As the
-- names imply, they are intended to be used to write data validators, but they are general enough
-- that you may find other uses for them, too. For an overview of this library’s functionality, see
-- the documentation for 'ValidateT'.
module Control.Monad.Validate (
  -- * The ValidateT monad transformer
    ValidateT
  , runValidateT
  , execValidateT
  , embedValidateT
  , mapErrors

  -- * The MonadValidate class
  , MonadValidate(..)

  -- * The Validate monad
  , Validate
  , runValidate
  , execValidate
  ) where

import Control.Monad.Validate.Class
import Control.Monad.Validate.Internal