{-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE DisambiguateRecordFields #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE NumericUnderscores #-} {-# LANGUAGE OverloadedStrings #-} module Tax.Canada.Province.BC.BC428.FieldNames (bc428Fields) where import Data.Fixed (Centi) import Rank2 qualified import Tax.Canada.Province.BC.BC428.Types import Tax.Canada.Shared (BaseCredit(..), MedicalExpenses(..), TaxIncomeBracket (..), subCalculationFields) import Tax.FDF (Entry (Constant, Amount, Percent, Textual), FieldConst (Field), within) bc428Fields :: BC428 FieldConst bc428Fields :: BC428 FieldConst bc428Fields = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "form1" (forall {a}. FieldConst a -> FieldConst a) -> BC428 FieldConst -> BC428 FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> BC428 p -> BC428 q Rank2.<$> BC428 { page1 :: Page1 FieldConst page1 = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "Page1" (forall {a}. FieldConst a -> FieldConst a) -> Page1 FieldConst -> Page1 FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> Page1 p -> Page1 q Rank2.<$> Page1 FieldConst page1Fields, page2 :: Page2 FieldConst page2 = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "Page2" (forall {a}. FieldConst a -> FieldConst a) -> Page2 FieldConst -> Page2 FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> Page2 p -> Page2 q Rank2.<$> Page2 FieldConst page2Fields, page3 :: Page3 FieldConst page3 = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "Page3" (forall {a}. FieldConst a -> FieldConst a) -> Page3 FieldConst -> Page3 FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> Page3 p -> Page3 q Rank2.<$> Page3 FieldConst page3Fields} page1Fields :: Page1 FieldConst page1Fields :: Page1 FieldConst page1Fields = Page1 { partA :: Page1PartA FieldConst partA = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "PartA" (forall {a}. FieldConst a -> FieldConst a) -> Page1PartA FieldConst -> Page1PartA FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> Page1PartA p -> Page1PartA q Rank2.<$> Page1PartA FieldConst page1PartAFields, partB :: Page1PartB FieldConst partB = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "PartB" (forall {a}. FieldConst a -> FieldConst a) -> Page1PartB FieldConst -> Page1PartB FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> Page1PartB p -> Page1PartB q Rank2.<$> Page1PartB FieldConst page1PartBFields} page1PartAFields :: Page1PartA FieldConst page1PartAFields :: Page1PartA FieldConst page1PartAFields = Page1PartA { income :: FieldConst Centi income = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line1", Text "Amount"] Entry Centi Amount, column1 :: TaxIncomeBracket FieldConst column1 = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "Column1" (forall {a}. FieldConst a -> FieldConst a) -> TaxIncomeBracket FieldConst -> TaxIncomeBracket FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> TaxIncomeBracket p -> TaxIncomeBracket q Rank2.<$> Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst taxIncomeBracketFields Centi 0 Rational 0.0506 Centi 0, column2 :: TaxIncomeBracket FieldConst column2 = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "Column2" (forall {a}. FieldConst a -> FieldConst a) -> TaxIncomeBracket FieldConst -> TaxIncomeBracket FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> TaxIncomeBracket p -> TaxIncomeBracket q Rank2.<$> Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst taxIncomeBracketFields Centi 47_937 Rational 0.077 Centi 2_425.61, column3 :: TaxIncomeBracket FieldConst column3 = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "Column3" (forall {a}. FieldConst a -> FieldConst a) -> TaxIncomeBracket FieldConst -> TaxIncomeBracket FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> TaxIncomeBracket p -> TaxIncomeBracket q Rank2.<$> Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst taxIncomeBracketFields Centi 95_875 Rational 0.105 Centi 6_116.84, column4 :: TaxIncomeBracket FieldConst column4 = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "Column4" (forall {a}. FieldConst a -> FieldConst a) -> TaxIncomeBracket FieldConst -> TaxIncomeBracket FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> TaxIncomeBracket p -> TaxIncomeBracket q Rank2.<$> Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst taxIncomeBracketFields Centi 110_076 Rational 0.1229 Centi 7_607.94, column5 :: TaxIncomeBracket FieldConst column5 = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "Column5" (forall {a}. FieldConst a -> FieldConst a) -> TaxIncomeBracket FieldConst -> TaxIncomeBracket FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> TaxIncomeBracket p -> TaxIncomeBracket q Rank2.<$> (Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst taxIncomeBracketFields' Centi 133_664 Rational 0.147 Centi 10_506.91){equalsTax = Field ["LIne15", "Amount"] Amount}, column6 :: TaxIncomeBracket FieldConst column6 = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "Column6" (forall {a}. FieldConst a -> FieldConst a) -> TaxIncomeBracket FieldConst -> TaxIncomeBracket FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> TaxIncomeBracket p -> TaxIncomeBracket q Rank2.<$> (Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst taxIncomeBracketFields' Centi 181_232 Rational 0.168 Centi 17_499.40){rate = Field ["Line12", "Percent_ReadOnly"] $ Constant 0.168 Percent}, column7 :: TaxIncomeBracket FieldConst column7 = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "Column7" (forall {a}. FieldConst a -> FieldConst a) -> TaxIncomeBracket FieldConst -> TaxIncomeBracket FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> TaxIncomeBracket p -> TaxIncomeBracket q Rank2.<$> Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst taxIncomeBracketFields' Centi 252_752 Rational 0.205 Centi 29_514.76} taxIncomeBracketFields :: Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst taxIncomeBracketFields :: Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst taxIncomeBracketFields Centi threshold Rational rate Centi baseTax = TaxIncomeBracket { income :: FieldConst Centi income = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line2", Text "Amount"] Entry Centi Amount, threshold :: FieldConst Centi threshold = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line3", Text "Amount_ReadOnly"] (Entry Centi -> FieldConst Centi) -> Entry Centi -> FieldConst Centi forall a b. (a -> b) -> a -> b $ Centi -> Entry Centi -> Entry Centi forall a. (Eq a, Show a) => a -> Entry a -> Entry a Constant Centi threshold Entry Centi Amount, overThreshold :: FieldConst Centi overThreshold = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line4", Text "Amount"] Entry Centi Amount, rate :: FieldConst Rational rate = [Text] -> Entry Rational -> FieldConst Rational forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line5", Text "Percent_ReadOnly"] (Entry Rational -> FieldConst Rational) -> Entry Rational -> FieldConst Rational forall a b. (a -> b) -> a -> b $ Rational -> Entry Rational -> Entry Rational forall a. (Eq a, Show a) => a -> Entry a -> Entry a Constant Rational rate Entry Rational Percent, timesRate :: FieldConst Centi timesRate = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line6", Text "Amount"] Entry Centi Amount, baseTax :: FieldConst Centi baseTax = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line7", Text "Amount_ReadOnly"] (Entry Centi -> FieldConst Centi) -> Entry Centi -> FieldConst Centi forall a b. (a -> b) -> a -> b $ Centi -> Entry Centi -> Entry Centi forall a. (Eq a, Show a) => a -> Entry a -> Entry a Constant Centi baseTax Entry Centi Amount, equalsTax :: FieldConst Centi equalsTax = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line8", Text "Amount"] Entry Centi Amount} taxIncomeBracketFields' :: Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst taxIncomeBracketFields' :: Centi -> Rational -> Centi -> TaxIncomeBracket FieldConst taxIncomeBracketFields' Centi threshold Rational rate Centi baseTax = TaxIncomeBracket { income :: FieldConst Centi income = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line9", Text "Amount"] Entry Centi Amount, threshold :: FieldConst Centi threshold = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line10", Text "Amount_ReadOnly"] (Entry Centi -> FieldConst Centi) -> Entry Centi -> FieldConst Centi forall a b. (a -> b) -> a -> b $ Centi -> Entry Centi -> Entry Centi forall a. (Eq a, Show a) => a -> Entry a -> Entry a Constant Centi threshold Entry Centi Amount, overThreshold :: FieldConst Centi overThreshold = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line11", Text "Amount"] Entry Centi Amount, rate :: FieldConst Rational rate = [Text] -> Entry Rational -> FieldConst Rational forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line12", Text "Percent_ReadOnly"] (Entry Rational -> FieldConst Rational) -> Entry Rational -> FieldConst Rational forall a b. (a -> b) -> a -> b $ Rational -> Entry Rational -> Entry Rational forall a. (Eq a, Show a) => a -> Entry a -> Entry a Constant Rational rate Entry Rational Percent, timesRate :: FieldConst Centi timesRate = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line13", Text "Amount"] Entry Centi Amount, baseTax :: FieldConst Centi baseTax = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line14", Text "Amount_ReadOnly"] (Entry Centi -> FieldConst Centi) -> Entry Centi -> FieldConst Centi forall a b. (a -> b) -> a -> b $ Centi -> Entry Centi -> Entry Centi forall a. (Eq a, Show a) => a -> Entry a -> Entry a Constant Centi baseTax Entry Centi Amount, equalsTax :: FieldConst Centi equalsTax = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line15", Text "Amount"] Entry Centi Amount} page1PartBFields :: Page1PartB FieldConst page1PartBFields :: Page1PartB FieldConst page1PartBFields = Page1PartB { line16_basic :: FieldConst Centi line16_basic = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line16", Text "Amount"] Entry Centi Amount, line17_age :: FieldConst Centi line17_age = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line17", Text "Amount"] Entry Centi Amount, spouseAmount :: BaseCredit FieldConst spouseAmount = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "Spouse_CPL_Amount" (forall {a}. FieldConst a -> FieldConst a) -> BaseCredit FieldConst -> BaseCredit FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> BaseCredit p -> BaseCredit q Rank2.<$> BaseCredit{ baseAmount :: FieldConst Centi baseAmount = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line18", Text "Amount"] (Entry Centi -> FieldConst Centi) -> Entry Centi -> FieldConst Centi forall a b. (a -> b) -> a -> b $ Centi -> Entry Centi -> Entry Centi forall a. (Eq a, Show a) => a -> Entry a -> Entry a Constant Centi 11_850 Entry Centi Amount, reduction :: FieldConst Centi reduction = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line19", Text "Amount"] Entry Centi Amount, difference :: FieldConst Centi difference = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line20", Text "Amount1"] Entry Centi Amount, cont :: FieldConst Centi cont = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line20", Text "Amount2"] Entry Centi Amount}, dependantAmount :: BaseCredit FieldConst dependantAmount = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "Amount_Eligible_Dependant" (forall {a}. FieldConst a -> FieldConst a) -> BaseCredit FieldConst -> BaseCredit FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> BaseCredit p -> BaseCredit q Rank2.<$> BaseCredit{ baseAmount :: FieldConst Centi baseAmount = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line21", Text "Amount"] (Entry Centi -> FieldConst Centi) -> Entry Centi -> FieldConst Centi forall a b. (a -> b) -> a -> b $ Centi -> Entry Centi -> Entry Centi forall a. (Eq a, Show a) => a -> Entry a -> Entry a Constant Centi 11_850 Entry Centi Amount, reduction :: FieldConst Centi reduction = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line22", Text "Amount"] Entry Centi Amount, difference :: FieldConst Centi difference = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line23", Text "Amount1"] Entry Centi Amount, cont :: FieldConst Centi cont = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line23", Text "Amount2"] Entry Centi Amount}, line24_caregiver :: FieldConst Centi line24_caregiver = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line24", Text "Amount"] Entry Centi Amount, line25 :: FieldConst Centi line25 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line25", Text "Amount"] Entry Centi Amount} page2Fields :: Page2 FieldConst page2Fields :: Page2 FieldConst page2Fields = Page2 { partB :: Page2PartB FieldConst partB = Page2PartB FieldConst page2PartBFields} page2PartBFields :: Page2PartB FieldConst page2PartBFields :: Page2PartB FieldConst page2PartBFields = Page2PartB { line26 :: FieldConst Centi line26 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line26", Text "Amount"] Entry Centi Amount, line27_cppQpp :: FieldConst Centi line27_cppQpp = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line27", Text "Amount"] Entry Centi Amount, line28_cppQpp :: FieldConst Centi line28_cppQpp = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line28", Text "Amount"] Entry Centi Amount, line29_employmentInsurance :: FieldConst Centi line29_employmentInsurance = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line29", Text "Amount"] Entry Centi Amount, line30_employmentInsurance :: FieldConst Centi line30_employmentInsurance = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line30", Text "Amount"] Entry Centi Amount, line31_firefighters :: FieldConst Centi line31_firefighters = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line31", Text "Amount"] Entry Centi Amount, line32_rescue :: FieldConst Centi line32_rescue = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line32", Text "Amount"] Entry Centi Amount, line33_sum :: SubCalculation FieldConst line33_sum = Text -> [Text] -> [Text] -> SubCalculation FieldConst subCalculationFields Text "Line33" [Text "I1", Text "Amount"] [Text "I2", Text "Amount"], line34_adoption :: FieldConst Centi line34_adoption = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line34", Text "Amount"] Entry Centi Amount, line35 :: FieldConst Centi line35 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line35", Text "Amount"] Entry Centi Amount, line36_pension :: FieldConst Centi line36_pension = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line36", Text "Amount"] Entry Centi Amount, line37 :: FieldConst Centi line37 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line37", Text "Amount"] Entry Centi Amount, line38_disability :: FieldConst Centi line38_disability = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line38", Text "Amount"] Entry Centi Amount, line39 :: FieldConst Centi line39 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line39", Text "Amount"] Entry Centi Amount, line40 :: FieldConst Centi line40 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line40", Text "Amount"] Entry Centi Amount, line41_interest :: FieldConst Centi line41_interest = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line41", Text "Amount"] Entry Centi Amount, line42_education :: FieldConst Centi line42_education = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line42", Text "Amount"] Entry Centi Amount, line43_transferredChild :: FieldConst Centi line43_transferredChild = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line43", Text "Amount"] Entry Centi Amount, line44_transferredSpouse :: FieldConst Centi line44_transferredSpouse = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line44", Text "Amount"] Entry Centi Amount, line45 :: FieldConst Centi line45 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line45", Text "Amount"] Entry Centi Amount, medicalExpenses :: MedicalExpenses FieldConst medicalExpenses = Text -> FieldConst a -> FieldConst a forall x. Text -> FieldConst x -> FieldConst x within Text "MedicalExp" (forall {a}. FieldConst a -> FieldConst a) -> MedicalExpenses FieldConst -> MedicalExpenses FieldConst forall {k} (g :: (k -> *) -> *) (p :: k -> *) (q :: k -> *). Functor g => (forall (a :: k). p a -> q a) -> g p -> g q forall (p :: * -> *) (q :: * -> *). (forall a. p a -> q a) -> MedicalExpenses p -> MedicalExpenses q Rank2.<$> MedicalExpenses FieldConst medicalExpensesFields, line52 :: FieldConst Centi line52 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line52", Text "Amount"] Entry Centi Amount, line53_sum :: SubCalculation FieldConst line53_sum = Text -> [Text] -> [Text] -> SubCalculation FieldConst subCalculationFields Text "Line53" [Text "Amount1"] [Text "Amount2"], line54 :: FieldConst Centi line54 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line54", Text "Amount"] Entry Centi Amount, line55_rate :: FieldConst Rational line55_rate = [Text] -> Entry Rational -> FieldConst Rational forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line55", Text "PercentAmount_ReadOnly"] (Entry Rational -> FieldConst Rational) -> Entry Rational -> FieldConst Rational forall a b. (a -> b) -> a -> b $ Rational -> Entry Rational -> Entry Rational forall a. (Eq a, Show a) => a -> Entry a -> Entry a Constant Rational 0.0506 Entry Rational Percent, line56_fraction :: FieldConst Centi line56_fraction = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line56", Text "Amount"] Entry Centi Amount, line57_donations :: FieldConst Centi line57_donations = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line57", Text "Amount"] Entry Centi Amount, line58 :: FieldConst Centi line58 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line58", Text "Amount"] Entry Centi Amount, line59_food :: FieldConst Centi line59_food = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line59", Text "Gifts_from_57", Text "Amount"] Entry Centi Amount, line59_fraction :: FieldConst Centi line59_fraction = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line59", Text "Amount"] Entry Centi Amount, line60 :: FieldConst Centi line60 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line60", Text "Amount"] Entry Centi Amount} medicalExpensesFields :: MedicalExpenses FieldConst medicalExpensesFields :: MedicalExpenses FieldConst medicalExpensesFields = MedicalExpenses { expenses :: FieldConst Centi expenses = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line46", Text "Amount"] Entry Centi Amount, netIncome :: FieldConst Centi netIncome = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line47", Text "Amount"] Entry Centi Amount, incomeRate :: FieldConst Rational incomeRate = [Text] -> Entry Rational -> FieldConst Rational forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line48", Text "PercentAmount_ReadOnly"] (Entry Rational -> FieldConst Rational) -> Entry Rational -> FieldConst Rational forall a b. (a -> b) -> a -> b $ Rational -> Entry Rational -> Entry Rational forall a. (Eq a, Show a) => a -> Entry a -> Entry a Constant Rational 0.03 Entry Rational Percent, fraction :: FieldConst Centi fraction = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line49", Text "Amount"] Entry Centi Amount, lesser :: FieldConst Centi lesser = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line50", Text "Amount"] Entry Centi Amount, difference :: FieldConst Centi difference = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line51", Text "Amount"] Entry Centi Amount} partCFields :: PartC FieldConst partCFields :: PartC FieldConst partCFields = PartC { line61_tax :: FieldConst Centi line61_tax = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line61", Text "Amount"] Entry Centi Amount, line62_splitIncomeTax :: FieldConst Centi line62_splitIncomeTax = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line62", Text "Amount"] Entry Centi Amount, line63 :: FieldConst Centi line63 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line63", Text "Amount"] Entry Centi Amount, line64_copy :: FieldConst Centi line64_copy = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line64", Text "Amount"] Entry Centi Amount, line65_dividendCredits :: FieldConst Centi line65_dividendCredits = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line65", Text "Amount"] Entry Centi Amount, line66_copy :: FieldConst Centi line66_copy = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line66", Text "Line40427", Text "Amount"] Entry Centi Amount, line66_fraction :: FieldConst Centi line66_fraction = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line66", Text "Amount"] Entry Centi Amount, line67_sum :: SubCalculation FieldConst line67_sum = Text -> [Text] -> [Text] -> SubCalculation FieldConst subCalculationFields Text "Line67" [Text "Amount1"] [Text "Amount2"], line68 :: FieldConst Centi line68 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line68", Text "Amount"] Entry Centi Amount, line69_copy :: FieldConst Centi line69_copy = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line69", Text "Line120", Text "Amount"] Entry Centi Amount, line69_fraction :: FieldConst Centi line69_fraction = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line69", Text "Amount"] Entry Centi Amount, line70 :: FieldConst Centi line70 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line70", Text "Amount"] Entry Centi Amount, line71_foreignCredit :: FieldConst Centi line71_foreignCredit = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line71", Text "Amount"] Entry Centi Amount, line72 :: FieldConst Centi line72 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line72", Text "Amount"] Entry Centi Amount} page3Fields :: Page3 FieldConst page3Fields :: Page3 FieldConst page3Fields = Page3 { partC :: PartC FieldConst partC = PartC FieldConst partCFields, line73_basicReduction :: FieldConst Centi line73_basicReduction = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line73", Text "Amount"] Entry Centi Amount, line74_copy :: FieldConst Centi line74_copy = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line74", Text "Amount"] Entry Centi Amount, line75_base :: FieldConst Centi line75_base = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line75", Text "Amount_ReadOnly"] (Entry Centi -> FieldConst Centi) -> Entry Centi -> FieldConst Centi forall a b. (a -> b) -> a -> b $ Centi -> Entry Centi -> Entry Centi forall a. (Eq a, Show a) => a -> Entry a -> Entry a Constant Centi 24_338 Entry Centi Amount, line76_difference :: FieldConst Centi line76_difference = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line76", Text "Amount"] Entry Centi Amount, line77_rate :: FieldConst Rational line77_rate = [Text] -> Entry Rational -> FieldConst Rational forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line77", Text "PercentAmount_ReadOnly"] (Entry Rational -> FieldConst Rational) -> Entry Rational -> FieldConst Rational forall a b. (a -> b) -> a -> b $ Rational -> Entry Rational -> Entry Rational forall a. (Eq a, Show a) => a -> Entry a -> Entry a Constant Rational 0.0356 Entry Rational Percent, line78_fraction :: SubCalculation FieldConst line78_fraction = Text -> [Text] -> [Text] -> SubCalculation FieldConst subCalculationFields Text "Line78" [Text "Amount1"] [Text "Amount2"], line79_difference :: SubCalculation FieldConst line79_difference = Text -> [Text] -> [Text] -> SubCalculation FieldConst subCalculationFields Text "Line79" [Text "Amount1"] [Text "Amount2"], line80_difference :: FieldConst Centi line80_difference = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line80", Text "Amount"] Entry Centi Amount, line81_logging :: FieldConst Centi line81_logging = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line81", Text "Amount"] Entry Centi Amount, line82_difference :: FieldConst Centi line82_difference = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line82", Text "Amount"] Entry Centi Amount, line83_political :: FieldConst Centi line83_political = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line83", Text "Amount"] Entry Centi Amount, line84_political :: FieldConst Centi line84_political = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line84", Text "Amount"] Entry Centi Amount, line85_difference :: FieldConst Centi line85_difference = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line85", Text "Amount"] Entry Centi Amount, line86_esop20 :: FieldConst Text line86_esop20 = [Text] -> Entry Text -> FieldConst Text forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line86", Text "Certificatenumber", Text "Certificat-no"] Entry Text Textual, line_60450_esop20 :: FieldConst Centi line_60450_esop20 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line86", Text "Amount"] Entry Centi Amount, line87_evcc30 :: FieldConst Text line87_evcc30 = [Text] -> Entry Text -> FieldConst Text forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line87", Text "Certificatenumber", Text "Certificat-no"] Entry Text Textual, line_60470_evcc30 :: FieldConst Centi line_60470_evcc30 = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line87", Text "Amount"] Entry Centi Amount, line88_sum :: SubCalculation FieldConst line88_sum = Text -> [Text] -> [Text] -> SubCalculation FieldConst subCalculationFields Text "Line88" [Text "Amount1"] [Text "Amount2"], line89_difference :: FieldConst Centi line89_difference = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line89", Text "Amount"] Entry Centi Amount, line90_mining :: FieldConst Centi line90_mining = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line90", Text "Amount"] Entry Centi Amount, line91_tax :: FieldConst Centi line91_tax = [Text] -> Entry Centi -> FieldConst Centi forall a. [Text] -> Entry a -> FieldConst a Field [Text "Line91", Text "Amount"] Entry Centi Amount}