module Tax.Canada.FormKey where

-- | The type of form keys to use as the parameter of 'Tax.FDF.FDFs'
data FormKey = T1 | T4 | Schedule6 | Schedule7 | Schedule8 | Schedule9 | Schedule11 | Provincial428 | Provincial479
             deriving (FormKey -> FormKey -> Bool
(FormKey -> FormKey -> Bool)
-> (FormKey -> FormKey -> Bool) -> Eq FormKey
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FormKey -> FormKey -> Bool
== :: FormKey -> FormKey -> Bool
$c/= :: FormKey -> FormKey -> Bool
/= :: FormKey -> FormKey -> Bool
Eq, Eq FormKey
Eq FormKey =>
(FormKey -> FormKey -> Ordering)
-> (FormKey -> FormKey -> Bool)
-> (FormKey -> FormKey -> Bool)
-> (FormKey -> FormKey -> Bool)
-> (FormKey -> FormKey -> Bool)
-> (FormKey -> FormKey -> FormKey)
-> (FormKey -> FormKey -> FormKey)
-> Ord FormKey
FormKey -> FormKey -> Bool
FormKey -> FormKey -> Ordering
FormKey -> FormKey -> FormKey
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: FormKey -> FormKey -> Ordering
compare :: FormKey -> FormKey -> Ordering
$c< :: FormKey -> FormKey -> Bool
< :: FormKey -> FormKey -> Bool
$c<= :: FormKey -> FormKey -> Bool
<= :: FormKey -> FormKey -> Bool
$c> :: FormKey -> FormKey -> Bool
> :: FormKey -> FormKey -> Bool
$c>= :: FormKey -> FormKey -> Bool
>= :: FormKey -> FormKey -> Bool
$cmax :: FormKey -> FormKey -> FormKey
max :: FormKey -> FormKey -> FormKey
$cmin :: FormKey -> FormKey -> FormKey
min :: FormKey -> FormKey -> FormKey
Ord, ReadPrec [FormKey]
ReadPrec FormKey
Int -> ReadS FormKey
ReadS [FormKey]
(Int -> ReadS FormKey)
-> ReadS [FormKey]
-> ReadPrec FormKey
-> ReadPrec [FormKey]
-> Read FormKey
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS FormKey
readsPrec :: Int -> ReadS FormKey
$creadList :: ReadS [FormKey]
readList :: ReadS [FormKey]
$creadPrec :: ReadPrec FormKey
readPrec :: ReadPrec FormKey
$creadListPrec :: ReadPrec [FormKey]
readListPrec :: ReadPrec [FormKey]
Read, Int -> FormKey -> ShowS
[FormKey] -> ShowS
FormKey -> String
(Int -> FormKey -> ShowS)
-> (FormKey -> String) -> ([FormKey] -> ShowS) -> Show FormKey
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> FormKey -> ShowS
showsPrec :: Int -> FormKey -> ShowS
$cshow :: FormKey -> String
show :: FormKey -> String
$cshowList :: [FormKey] -> ShowS
showList :: [FormKey] -> ShowS
Show)