module Ribosome.Data.Setting where

data Setting a =
  Setting {
    Setting a -> Text
name :: Text,
    Setting a -> Bool
prefix :: Bool,
    Setting a -> Maybe a
fallback :: Maybe a
  }

data GSetting a where
  SettingWithoutDefault :: Text -> Bool -> GSetting a
  SettingWithDefault :: Text -> Bool -> a -> GSetting a