{-# LANGUAGE NoImplicitPrelude #-}

-- |
-- Module      : OAlg.Entity.Slice
-- Description : slicing a multiplicative structure
-- Copyright   : (c) Erich Gut
-- License     : BSD3
-- Maintainer  : zerich.gut@gmail.com
--
-- slicing a 'OAlg.Structure.Multiplicative.Definition.Multiplicative' structures by a given
-- indexed 'OAlg.Structure.Oriented.Definition.Point'.
--
--
-- __Note__ Unfortunately for Haskell it is in general not possible to lift a value to
-- the type level, as such we need to circumvent somehow this restriction by using an
-- /index/ type where the associated point depends only of that type (see 'Sliced').
module OAlg.Entity.Slice
  ( module Def
  , module Adj
  , module Fre
  ) where

import OAlg.Entity.Slice.Definition as Def
import OAlg.Entity.Slice.Adjunction as Adj
import OAlg.Entity.Slice.Free as Fre