-----------------------------------------------------------------------------
-- |
-- Module      :  Data.GenericLens.Internal
-- Copyright   :  (C) 2020 Csongor Kiss
-- License     :  BSD3
-- Maintainer  :  Csongor Kiss <kiss.csongor.kiss@gmail.com>
-- Stability   :  experimental
-- Portability :  non-portable
--
-- The library internals are exposed through this module. Please keep
-- in mind that everything here is subject to change irrespective of
-- the the version numbers.
-----------------------------------------------------------------------------

module Data.GenericLens.Internal
  ( module Data.Generics.Internal.Families
  , module Data.Generics.Internal.Families.Changing
  , module Data.Generics.Internal.Families.Collect
  , module Data.Generics.Internal.Families.Has
  , module Data.Generics.Internal.Void
  , module Data.Generics.Internal.Errors

  , module Data.Generics.Internal.GenericN

  -- * Profunctor optics
  , module Data.Generics.Internal.Profunctor.Iso
  , module Data.Generics.Internal.Profunctor.Lens
  , module Data.Generics.Internal.Profunctor.Prism

  , module Data.Generics.Product.Internal.Subtype
  ) where

import Data.Generics.Internal.Families
import Data.Generics.Internal.Families.Changing
import Data.Generics.Internal.Families.Collect
import Data.Generics.Internal.Families.Has
import Data.Generics.Internal.Void
import Data.Generics.Internal.Errors

import Data.Generics.Internal.GenericN

import Data.Generics.Internal.Profunctor.Iso
import Data.Generics.Internal.Profunctor.Lens
import Data.Generics.Internal.Profunctor.Prism

import Data.Generics.Product.Internal.Subtype