base-orphans defines orphan instances that mimic instances available in later versions of base to a wider (older) range of compilers. base-orphans does not export anything except the orphan instances themselves, making it a leaner dependency than base-compat.
Usage
To use base-orphans, simply import Data.Orphans ().
What is covered
Added Eq and Ord instances for Control.Exception.ErrorCall
Added Eq, Ord, Read, and Show instances for data types in GHC.Generics
Added Monoid, Eq, Ord, Read, and Show instances for Const
Added Read and Show instances for Down
Added Eq, Ord, Read, and Show instances for ZipList
Added Monad instance for WrappedMonad
Added Data and IsList instances for Version
Bits instance for Bool
Generic instance for All, Any, Const, Dual, Endo, First, Last, Product, Sum, WrappedArrow, WrappedMonad, and ZipList
Generic1 instance for Const, Dual, First, Last, Product, Sum, WrappedArrow, WrappedMonad, and ZipList
Foldable instance for Either, (,) and Const
Functor instance for ArgOrder, OptDescr, and ArgDescr
Num instance for Sum and Product
Storable instance for Complex and Ratio
Traversable instance for Either, (,) and Const
Typeable instance for most data types and typeclasses (when possible)