-- | Generic and generalized functors.

module Generic.Functor
  ( -- * Derive functors

    -- ** Unary functors
    gsolomap
  , solomap

    -- ** N-ary functors
  , gmultimap
  , multimap
  , (:+)(..)

    -- ** Derive Functor and Bifunctor

    -- *** DerivingVia
  , DeriveFunctor(..)
  , DeriveBifunctor(..)

    -- *** Generic method definitions
  , gfmap
  , gbimap
  , gfirst
  , gsecond

    -- * Auxiliary classes
  , GFunctor()
  , GBifunctor()
  , GFirst()
  , GSecond()
  , GSolomap()
  , Solomap()
  , GMultimap()
  , Multimap()
  ) where

import Generic.Functor.Internal