{-# OPTIONS --without-K --safe #-} module Cats.Category where import Cats.Category.Base as Base import Cats.Category.Constructions.CCC as CCC import Cats.Category.Constructions.Epi as Epi import Cats.Category.Constructions.Equalizer as Equalizer import Cats.Category.Constructions.Exponential as Exponential import Cats.Category.Constructions.Iso as Iso import Cats.Category.Constructions.Initial as Initial import Cats.Category.Constructions.Mono as Mono import Cats.Category.Constructions.Product as Product import Cats.Category.Constructions.Terminal as Terminal import Cats.Category.Constructions.Thin as Thin import Cats.Category.Constructions.Unique as Unique import Cats.Limit as Limit Category = Base.Category module Category {lo la l≈} (Cat : Base.Category lo la l≈) where open Base.Category Cat public open Epi.Build Cat public open Equalizer.Build Cat public open Exponential.Build Cat public open Initial.Build Cat public open Iso.Build Cat public open Mono.Build Cat public open Product.Build Cat public open Terminal.Build Cat public open Unique.Build Cat public open CCC public using (IsCCC) open Exponential public using (HasExponentials) open Initial public using (HasInitial) open Limit public using (_HasLimitsOf_ ; Complete) open Product public using ( HasProducts ; HasBinaryProducts ; HasFiniteProducts ; HasProducts→HasBinaryProducts ; HasProducts→HasTerminal ) open Terminal public using (HasTerminal) open Thin public using (Thin ; StronglyThin ; StronglyThin→Thin)