-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Generically newtype to use with DerivingVia
--   
--   This is a compatibility package as <tt>Generically</tt> and
--   <tt>Generically1</tt> newtypes are available since <tt>base-4.17</tt>
--   in <a>GHC.Generics</a>.
@package generically
@version 0.1


-- | This module exports <a>Generically</a> and <a>Generically</a> newtypes
--   meant to be used with <a>GHC.Generics</a> and <tt>DerivingVia</tt>.
--   
--   These types are re-exported from <a>GHC.Generics</a> on
--   <tt>base-4.17</tt> and later, and defined here for older <tt>base</tt>
--   versions.
module GHC.Generics.Generically

-- | A type whose instances are defined generically, using the
--   <a>Generic</a> representation.
newtype Generically a
Generically :: a -> Generically a

-- | A datatype whose instances are defined generically, using the
--   <a>Generic</a> representation. <a>Generically1</a> is a higher-kinded
--   version of <a>Generically</a> that uses <a>Generic1</a>.
newtype Generically1 f a
Generically1 :: f a -> Generically1 f a
instance (GHC.Generics.Generic1 f, GHC.Base.Functor (GHC.Generics.Rep1 f)) => GHC.Base.Functor (GHC.Generics.Generically.Generically1 f)
instance (GHC.Generics.Generic1 f, GHC.Base.Applicative (GHC.Generics.Rep1 f)) => GHC.Base.Applicative (GHC.Generics.Generically.Generically1 f)
instance (GHC.Generics.Generic1 f, GHC.Base.Alternative (GHC.Generics.Rep1 f)) => GHC.Base.Alternative (GHC.Generics.Generically.Generically1 f)
instance (GHC.Generics.Generic1 f, Data.Functor.Classes.Eq1 (GHC.Generics.Rep1 f)) => Data.Functor.Classes.Eq1 (GHC.Generics.Generically.Generically1 f)
instance (GHC.Generics.Generic1 f, Data.Functor.Classes.Ord1 (GHC.Generics.Rep1 f)) => Data.Functor.Classes.Ord1 (GHC.Generics.Generically.Generically1 f)
instance (GHC.Generics.Generic a, GHC.Base.Semigroup (GHC.Generics.Rep a ())) => GHC.Base.Semigroup (GHC.Generics.Generically.Generically a)
instance (GHC.Generics.Generic a, GHC.Base.Monoid (GHC.Generics.Rep a ())) => GHC.Base.Monoid (GHC.Generics.Generically.Generically a)
