5FL4GFXIQJ3P7U5DD7VUEZHNZTTN7DERSUBQ64JZEPLU4PRX4K5QC
NZ2SHCLDVMHP4MN4ZIVSABSBXKVC6WYMTR7YPVA5AH6VUREXH37AC
H5ZMKSRCKHPZZTZ6ITFKMDWSF25AIJZBEKX6SD77NBHW7ZFX3DSQC
ZJ6BESB2ZX5KZWQRANKZFHPP64H3WQHF56PMFFMZIKVSIZSX3SXAC
BFH72ISNORLFYPNB5SKVOG36JUXY2NAYHQZ6SMQIUUG4PB4EKVLAC
-- * Constructors defaultRule,
-- * Constructors
defaultRule,
{-# LANGUAGE GADTs #-}
{-# LANGUAGE TypeApplications #-}
SomePosMoney :: KnownSymbol c => PosMoney c -> SomePosMoney
SomePosMoney :: (KnownSymbol c) => PosMoney c -> SomePosMoney
fromPosMoney' :: KnownSymbol s => PosMoney s -> SomePosMoney'
fromPosMoney' :: (KnownSymbol s) => PosMoney s -> SomePosMoney'
{-# LANGUAGE TypeApplications #-}{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE ScopedTypeVariables #-}{-# LANGUAGE TypeApplications #-}
-- * Types
-- * Re-exports
import Data.Kind
-- | Budget type using a set distribution between the categories Needs, Wants and Savings by-- | using the 50/30/20 rule.
-- | Budget type using a set distribution between the categories Needs, Wants and Savings by
-- | using the 50/30/20 rule.
{- | Budget type using a set distribution between the categories Needs, Wants and Savings by| using the 50/30/20 rule.-}
{- | Budget type using a set distribution between the categories Needs, Wants and Savings by
| using the 50/30/20 rule.
-}
{-# LANGUAGE DataKinds #-}
data AppError = Interrupted
data AppError =
Interrupted
data AppError
= Interrupted