{-# LANGUAGE ApplicativeDo #-}
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE NoFieldSelectors #-}
module Cauldron.Args
(
Args,
arg,
runArgs,
getArgsReps,
contramapArgs,
Wireable (wire),
LazilyReadBeanMissing (..),
Regs,
foretellReg,
runRegs,
getRegsReps,
Registrable (register),
Beans,
taste,
fromDynList,
SomeMonoidTypeRep,
)
where
import Cauldron.Args.Internal
import Cauldron.Beans (Beans, SomeMonoidTypeRep (..), fromDynList, taste)