-- |Disambiguation type for @Reader@.
module Ribosome.Data.CustomConfig where

-- |Disambiguation type used for the custom CLI configuration that is polymorphic in the stack.
newtype CustomConfig c =
  CustomConfig { forall c. CustomConfig c -> c
unCustomConfig :: c }
  deriving stock (CustomConfig c -> CustomConfig c -> Bool
(CustomConfig c -> CustomConfig c -> Bool)
-> (CustomConfig c -> CustomConfig c -> Bool)
-> Eq (CustomConfig c)
forall c. Eq c => CustomConfig c -> CustomConfig c -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CustomConfig c -> CustomConfig c -> Bool
$c/= :: forall c. Eq c => CustomConfig c -> CustomConfig c -> Bool
== :: CustomConfig c -> CustomConfig c -> Bool
$c== :: forall c. Eq c => CustomConfig c -> CustomConfig c -> Bool
Eq, Int -> CustomConfig c -> ShowS
[CustomConfig c] -> ShowS
CustomConfig c -> String
(Int -> CustomConfig c -> ShowS)
-> (CustomConfig c -> String)
-> ([CustomConfig c] -> ShowS)
-> Show (CustomConfig c)
forall c. Show c => Int -> CustomConfig c -> ShowS
forall c. Show c => [CustomConfig c] -> ShowS
forall c. Show c => CustomConfig c -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CustomConfig c] -> ShowS
$cshowList :: forall c. Show c => [CustomConfig c] -> ShowS
show :: CustomConfig c -> String
$cshow :: forall c. Show c => CustomConfig c -> String
showsPrec :: Int -> CustomConfig c -> ShowS
$cshowsPrec :: forall c. Show c => Int -> CustomConfig c -> ShowS
Show)