diff -Nru haskell-syb-0.3.7/Setup.hs haskell-syb-0.4.0/Setup.hs --- haskell-syb-0.3.7/Setup.hs 2012-07-04 13:03:19.000000000 +0000 +++ haskell-syb-0.4.0/Setup.hs 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -module Main (main) where - -import Distribution.Simple ( defaultMainWithHooks, simpleUserHooks - , UserHooks(runTests)) -import System.Cmd (system) - -main :: IO () -main = defaultMainWithHooks hooks - where hooks = simpleUserHooks { runTests = runTests' } - --- Runs the testsuite -runTests' _ _ _ _ = system cmd >> return () - where testdir = "tests" - testcmd = "runhaskell ./Main.hs" - cmd = "cd " ++ testdir ++ " && " ++ testcmd diff -Nru haskell-syb-0.3.7/Setup.lhs haskell-syb-0.4.0/Setup.lhs --- haskell-syb-0.3.7/Setup.lhs 1970-01-01 00:00:00.000000000 +0000 +++ haskell-syb-0.4.0/Setup.lhs 2013-03-06 14:42:43.000000000 +0000 @@ -0,0 +1,3 @@ +#!/usr/bin/env runhaskell +> import Distribution.Simple +> main = defaultMain diff -Nru haskell-syb-0.3.7/debian/changelog haskell-syb-0.4.0/debian/changelog --- haskell-syb-0.3.7/debian/changelog 2013-05-25 21:52:46.000000000 +0000 +++ haskell-syb-0.4.0/debian/changelog 2013-05-27 13:29:32.000000000 +0000 @@ -1,3 +1,9 @@ +haskell-syb (0.4.0-1) unstable; urgency=low + + * New upstream release + + -- Joachim Breitner Mon, 27 May 2013 15:29:32 +0200 + haskell-syb (0.3.7-3) unstable; urgency=low * Move Haskell blurb to the end of the description, reduces the impact diff -Nru haskell-syb-0.3.7/src/Data/Generics/Aliases.hs haskell-syb-0.4.0/src/Data/Generics/Aliases.hs --- haskell-syb-0.3.7/src/Data/Generics/Aliases.hs 2012-07-04 13:03:19.000000000 +0000 +++ haskell-syb-0.4.0/src/Data/Generics/Aliases.hs 2013-03-06 14:42:43.000000000 +0000 @@ -1,6 +1,4 @@ -{-# OPTIONS_GHC -cpp #-} -{-# LANGUAGE RankNTypes #-} - +{-# LANGUAGE RankNTypes, CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Data.Generics.Aliases @@ -315,6 +313,11 @@ -- Type extension for unary type constructors ------------------------------------------------------------------------------ +#if __GLASGOW_HASKELL__ >= 707 +#define Typeable1 Typeable +#define Typeable2 Typeable +#endif + -- | Flexible type extension ext1 :: (Data a, Typeable1 t) => c a diff -Nru haskell-syb-0.3.7/src/Data/Generics/Instances.hs haskell-syb-0.4.0/src/Data/Generics/Instances.hs --- haskell-syb-0.3.7/src/Data/Generics/Instances.hs 2012-07-04 13:03:19.000000000 +0000 +++ haskell-syb-0.4.0/src/Data/Generics/Instances.hs 2013-03-06 14:42:43.000000000 +0000 @@ -1,7 +1,4 @@ -{-# OPTIONS_GHC -cpp #-} -{-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE StandaloneDeriving #-} - +{-# LANGUAGE DeriveDataTypeable, StandaloneDeriving, CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Data.Generics.Instances diff -Nru haskell-syb-0.3.7/src/Data/Generics/Schemes.hs haskell-syb-0.4.0/src/Data/Generics/Schemes.hs --- haskell-syb-0.3.7/src/Data/Generics/Schemes.hs 2012-07-04 13:03:19.000000000 +0000 +++ haskell-syb-0.4.0/src/Data/Generics/Schemes.hs 2013-03-06 14:42:43.000000000 +0000 @@ -1,7 +1,4 @@ -{-# OPTIONS_GHC -cpp #-} -{-# LANGUAGE RankNTypes #-} -{-# LANGUAGE ScopedTypeVariables #-} - +{-# LANGUAGE RankNTypes, ScopedTypeVariables, CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Data.Generics.Schemes diff -Nru haskell-syb-0.3.7/src/Data/Generics/Text.hs haskell-syb-0.4.0/src/Data/Generics/Text.hs --- haskell-syb-0.3.7/src/Data/Generics/Text.hs 2012-07-04 13:03:19.000000000 +0000 +++ haskell-syb-0.4.0/src/Data/Generics/Text.hs 2013-03-06 14:42:43.000000000 +0000 @@ -1,5 +1,4 @@ -{-# OPTIONS_GHC -cpp #-} - +{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Data.Generics.Text diff -Nru haskell-syb-0.3.7/src/Data/Generics/Twins.hs haskell-syb-0.4.0/src/Data/Generics/Twins.hs --- haskell-syb-0.3.7/src/Data/Generics/Twins.hs 2012-07-04 13:03:19.000000000 +0000 +++ haskell-syb-0.4.0/src/Data/Generics/Twins.hs 2013-03-06 14:42:43.000000000 +0000 @@ -1,6 +1,4 @@ -{-# OPTIONS_GHC -cpp #-} -{-# LANGUAGE RankNTypes #-} - +{-# LANGUAGE RankNTypes, ScopedTypeVariables, CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Data.Generics.Twins diff -Nru haskell-syb-0.3.7/src/Data/Generics.hs haskell-syb-0.4.0/src/Data/Generics.hs --- haskell-syb-0.3.7/src/Data/Generics.hs 2012-07-04 13:03:19.000000000 +0000 +++ haskell-syb-0.4.0/src/Data/Generics.hs 2013-03-06 14:42:43.000000000 +0000 @@ -1,5 +1,4 @@ -{-# OPTIONS_GHC -cpp #-} - +{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : Data.Generics diff -Nru haskell-syb-0.3.7/syb.cabal haskell-syb-0.4.0/syb.cabal --- haskell-syb-0.3.7/syb.cabal 2012-07-04 13:03:19.000000000 +0000 +++ haskell-syb-0.4.0/syb.cabal 2013-03-06 14:42:43.000000000 +0000 @@ -1,5 +1,5 @@ name: syb -version: 0.3.7 +version: 0.4.0 license: BSD3 license-file: LICENSE author: Ralf Lammel, Simon Peyton Jones, Jose Pedro Magalhaes @@ -17,8 +17,8 @@ category: Generics stability: provisional -build-type: Custom -cabal-version: >= 1.6 +build-type: Simple +cabal-version: >= 1.8 extra-source-files: tests/*.hs, README @@ -27,7 +27,7 @@ type: git location: https://github.com/dreixel/syb -Library { +Library hs-source-dirs: src build-depends: base >= 4.0 && < 5.0 exposed-modules: Data.Generics, @@ -48,10 +48,17 @@ Generics.SYB.Twins, Generics.SYB.Builders - extensions: CPP, RankNTypes, ScopedTypeVariables - if impl(ghc < 6.12) ghc-options: -package-name syb ghc-options: -Wall -} + +test-suite unit-tests + type: exitcode-stdio-1.0 + hs-source-dirs: tests + main-is: Main.hs + build-depends: base + , syb + , HUnit + , containers + , mtl diff -Nru haskell-syb-0.3.7/tests/Bits.hs haskell-syb-0.4.0/tests/Bits.hs --- haskell-syb-0.3.7/tests/Bits.hs 2012-07-04 13:03:19.000000000 +0000 +++ haskell-syb-0.4.0/tests/Bits.hs 2013-03-06 14:42:43.000000000 +0000 @@ -38,8 +38,8 @@ import Data.Generics import Data.Char -import Maybe -import Monad +import Data.Maybe +import Control.Monad import CompanyDatatypes diff -Nru haskell-syb-0.3.7/tests/Datatype.hs haskell-syb-0.4.0/tests/Datatype.hs --- haskell-syb-0.3.7/tests/Datatype.hs 2012-07-04 13:03:19.000000000 +0000 +++ haskell-syb-0.4.0/tests/Datatype.hs 2013-03-06 14:42:43.000000000 +0000 @@ -1,7 +1,7 @@ {-# OPTIONS -fglasgow-exts #-} -- These are simple tests to observe (data)type representations. -module Datatype (tests) where +module Datatype where import Test.HUnit @@ -9,8 +9,7 @@ import Data.Generics -- A simple polymorphic datatype -data Data a => - MyDataType a = MyDataType a +data MyDataType a = MyDataType a deriving (Typeable, Data) @@ -19,7 +18,7 @@ myTypeRep = typeOf myTerm -- type representation in Typeable myTyCon = typeRepTyCon myTypeRep -- type constructor via Typeable myDataType = dataTypeOf myTerm -- datatype representation in Data -myString1 = tyConString myTyCon -- type constructor via Typeable +myString1 = tyConName myTyCon -- type constructor via Typeable myString2 = dataTypeName myDataType -- type constructor via Data -- Main function for testing @@ -32,4 +31,4 @@ )))))) ~=? output -output = "(Datatype.MyDataType Int,(DataType {tycon = \"Datatype.MyDataType\", datarep = AlgRep [MyDataType]},(\"Datatype\",(\"MyDataType\",(\"Datatype\",\"MyDataType\")))))" \ No newline at end of file +output = "(MyDataType Int,(DataType {tycon = \"Datatype.MyDataType\", datarep = AlgRep [MyDataType]},(\"\",(\"MyDataType\",(\"Datatype\",\"MyDataType\")))))" \ No newline at end of file diff -Nru haskell-syb-0.3.7/tests/FreeNames.hs haskell-syb-0.4.0/tests/FreeNames.hs --- haskell-syb-0.3.7/tests/FreeNames.hs 2012-07-04 13:03:19.000000000 +0000 +++ haskell-syb-0.4.0/tests/FreeNames.hs 2013-03-06 14:42:43.000000000 +0000 @@ -101,9 +101,7 @@ freeNames x = ( (refsFun x) `union` (nub . concat . gmapQ freeNames) x - ) - \\ - decsFun x + ) \\ decsFun x {- diff -Nru haskell-syb-0.3.7/tests/Newtype.hs haskell-syb-0.4.0/tests/Newtype.hs --- haskell-syb-0.3.7/tests/Newtype.hs 2012-07-04 13:03:19.000000000 +0000 +++ haskell-syb-0.4.0/tests/Newtype.hs 2013-03-06 14:42:43.000000000 +0000 @@ -12,4 +12,4 @@ tests = show (typeOf (undefined :: T)) ~=? output -output = "Newtype.T" +output = "T" diff -Nru haskell-syb-0.3.7/tests/out.hs haskell-syb-0.4.0/tests/out.hs --- haskell-syb-0.3.7/tests/out.hs 1970-01-01 00:00:00.000000000 +0000 +++ haskell-syb-0.4.0/tests/out.hs 2013-03-06 14:42:43.000000000 +0000 @@ -0,0 +1,8506 @@ +[1 of 1] Compiling CompanyDatatypes ( CompanyDatatypes.hs, CompanyDatatypes.o ) + +==================== Tidy Core ==================== +Result size of Tidy Core + = {terms: 4,139, types: 6,499, coercions: 296} + +a_r3dn :: [GHC.Types.Char] +[GblId, Str=DmdType] +a_r3dn = GHC.CString.unpackCString# "CompanyDatatypes.Company" + +CompanyDatatypes.$fDataCompany3 :: GHC.Types.Char +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.$fDataCompany3 = GHC.Types.C# 'C' + +CompanyDatatypes.$fDataCompany_w1 :: GHC.Base.String +[GblId, + Caf=NoCafRefs, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.$fDataCompany_w1 = + GHC.Types.: + @ GHC.Types.Char + CompanyDatatypes.$fDataCompany3 + (GHC.Types.[] @ GHC.Types.Char) + +lvl_r3do + :: Data.Data.Constr + -> GHC.Types.Int -> GHC.Types.Int -> GHC.Types.Int +[GblId, Arity=3, Caf=NoCafRefs] +lvl_r3do = + \ (x_a17I :: Data.Data.Constr) + (y_a17J :: GHC.Types.Int) + (r_a17K :: GHC.Types.Int) -> + case x_a17I + of _ + { Data.Data.Constr ds2_a17P ds3_a17Q ds4_a17R ds5_a17S ds6_a17T -> + case GHC.Base.eqString ds3_a17Q CompanyDatatypes.$fDataCompany_w1 + of _ { + GHC.Types.False -> r_a17K; + GHC.Types.True -> y_a17J + } + } + +Rec { +CompanyDatatypes.$fDataCompany4 :: Data.Data.ConstrRep +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.$fDataCompany4 = + Data.Data.AlgConstr CompanyDatatypes.$fDataCompany5 + +CompanyDatatypes.$cC :: Data.Data.Constr +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 60}] +CompanyDatatypes.$cC = + Data.Data.Constr + CompanyDatatypes.$fDataCompany4 + CompanyDatatypes.$fDataCompany_w1 + (GHC.Types.[] @ GHC.Base.String) + Data.Data.Prefix + CompanyDatatypes.$tCompany + +a1_r3dp :: [Data.Data.Constr] +[GblId, Str=DmdType] +a1_r3dp = + GHC.Types.: + @ Data.Data.Constr + CompanyDatatypes.$cC + (GHC.Types.[] @ Data.Data.Constr) + +a2_r3dq :: Data.Data.DataRep +[GblId, Str=DmdType] +a2_r3dq = Data.Data.AlgRep a1_r3dp + +CompanyDatatypes.$tCompany [Occ=LoopBreaker] :: Data.Data.DataType +[GblId, Str=DmdType m] +CompanyDatatypes.$tCompany = Data.Data.DataType a_r3dn a2_r3dq + +CompanyDatatypes.$fDataCompany5 [Occ=LoopBreaker] :: GHC.Types.Int +[GblId, Str=DmdType] +CompanyDatatypes.$fDataCompany5 = + GHC.List.foldr2 + @ Data.Data.Constr + @ GHC.Types.Int + @ GHC.Types.Int + lvl_r3do + (GHC.List.badHead @ GHC.Types.Int) + a1_r3dp + Data.Data.mkConstr1 +end Rec } + +a3_r3dr :: [GHC.Types.Char] +[GblId, Str=DmdType] +a3_r3dr = GHC.CString.unpackCString# "CompanyDatatypes.Dept" + +CompanyDatatypes.$fDataDept2 :: GHC.Types.Char +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.$fDataDept2 = GHC.Types.C# 'D' + +CompanyDatatypes.$fDataDept_w1 :: GHC.Base.String +[GblId, + Caf=NoCafRefs, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.$fDataDept_w1 = + GHC.Types.: + @ GHC.Types.Char + CompanyDatatypes.$fDataDept2 + (GHC.Types.[] @ GHC.Types.Char) + +lvl1_r3ds + :: Data.Data.Constr + -> GHC.Types.Int -> GHC.Types.Int -> GHC.Types.Int +[GblId, Arity=3, Caf=NoCafRefs] +lvl1_r3ds = + \ (x_a17I :: Data.Data.Constr) + (y_a17J :: GHC.Types.Int) + (r_a17K :: GHC.Types.Int) -> + case x_a17I + of _ + { Data.Data.Constr ds2_a17P ds3_a17Q ds4_a17R ds5_a17S ds6_a17T -> + case GHC.Base.eqString ds3_a17Q CompanyDatatypes.$fDataDept_w1 + of _ { + GHC.Types.False -> r_a17K; + GHC.Types.True -> y_a17J + } + } + +Rec { +CompanyDatatypes.$fDataDept3 :: Data.Data.ConstrRep +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.$fDataDept3 = + Data.Data.AlgConstr CompanyDatatypes.$fDataDept4 + +CompanyDatatypes.$cD :: Data.Data.Constr +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 60}] +CompanyDatatypes.$cD = + Data.Data.Constr + CompanyDatatypes.$fDataDept3 + CompanyDatatypes.$fDataDept_w1 + (GHC.Types.[] @ GHC.Base.String) + Data.Data.Prefix + CompanyDatatypes.$tDept + +a4_r3dt :: [Data.Data.Constr] +[GblId, Str=DmdType] +a4_r3dt = + GHC.Types.: + @ Data.Data.Constr + CompanyDatatypes.$cD + (GHC.Types.[] @ Data.Data.Constr) + +a5_r3du :: Data.Data.DataRep +[GblId, Str=DmdType] +a5_r3du = Data.Data.AlgRep a4_r3dt + +CompanyDatatypes.$tDept [Occ=LoopBreaker] :: Data.Data.DataType +[GblId, Str=DmdType m] +CompanyDatatypes.$tDept = Data.Data.DataType a3_r3dr a5_r3du + +CompanyDatatypes.$fDataDept4 [Occ=LoopBreaker] :: GHC.Types.Int +[GblId, Str=DmdType] +CompanyDatatypes.$fDataDept4 = + GHC.List.foldr2 + @ Data.Data.Constr + @ GHC.Types.Int + @ GHC.Types.Int + lvl1_r3ds + (GHC.List.badHead @ GHC.Types.Int) + a4_r3dt + Data.Data.mkConstr1 +end Rec } + +a6_r3dv :: [GHC.Types.Char] +[GblId, Str=DmdType] +a6_r3dv = GHC.CString.unpackCString# "CompanyDatatypes.Unit" + +w1_r3dw :: GHC.Base.String +[GblId, Str=DmdType] +w1_r3dw = GHC.CString.unpackCString# "PU" + +w2_r3dx :: GHC.Base.String +[GblId, Str=DmdType] +w2_r3dx = GHC.CString.unpackCString# "DU" + +lvl2_r3dy + :: Data.Data.Constr + -> GHC.Types.Int -> GHC.Types.Int -> GHC.Types.Int +[GblId, Arity=3] +lvl2_r3dy = + \ (x_a17I :: Data.Data.Constr) + (y_a17J :: GHC.Types.Int) + (r_a17K :: GHC.Types.Int) -> + case x_a17I + of _ + { Data.Data.Constr ds2_a17P ds3_a17Q ds4_a17R ds5_a17S ds6_a17T -> + case GHC.Base.eqString ds3_a17Q w2_r3dx of _ { + GHC.Types.False -> r_a17K; + GHC.Types.True -> y_a17J + } + } + +lvl3_r3dz + :: Data.Data.Constr + -> GHC.Types.Int -> GHC.Types.Int -> GHC.Types.Int +[GblId, Arity=3] +lvl3_r3dz = + \ (x_a17I :: Data.Data.Constr) + (y_a17J :: GHC.Types.Int) + (r_a17K :: GHC.Types.Int) -> + case x_a17I + of _ + { Data.Data.Constr ds2_a17P ds3_a17Q ds4_a17R ds5_a17S ds6_a17T -> + case GHC.Base.eqString ds3_a17Q w1_r3dw of _ { + GHC.Types.False -> r_a17K; + GHC.Types.True -> y_a17J + } + } + +Rec { +a7_r3dA :: Data.Data.ConstrRep +[GblId, Str=DmdType] +a7_r3dA = Data.Data.AlgConstr a12_r3dG + +a8_r3dB :: Data.Data.ConstrRep +[GblId, Str=DmdType] +a8_r3dB = Data.Data.AlgConstr a11_r3dF + +CompanyDatatypes.$cDU [Occ=LoopBreaker] :: Data.Data.Constr +[GblId, Str=DmdType m] +CompanyDatatypes.$cDU = + Data.Data.Constr + a8_r3dB + w2_r3dx + (GHC.Types.[] @ GHC.Base.String) + Data.Data.Prefix + CompanyDatatypes.$tUnit + +lvl4_r3dC :: [Data.Data.Constr] +[GblId, Str=DmdType] +lvl4_r3dC = + GHC.Types.: + @ Data.Data.Constr + CompanyDatatypes.$cDU + (GHC.Types.[] @ Data.Data.Constr) + +CompanyDatatypes.$cPU [Occ=LoopBreaker] :: Data.Data.Constr +[GblId, Str=DmdType m] +CompanyDatatypes.$cPU = + Data.Data.Constr + a7_r3dA + w1_r3dw + (GHC.Types.[] @ GHC.Base.String) + Data.Data.Prefix + CompanyDatatypes.$tUnit + +a9_r3dD :: [Data.Data.Constr] +[GblId, Str=DmdType] +a9_r3dD = + GHC.Types.: @ Data.Data.Constr CompanyDatatypes.$cPU lvl4_r3dC + +a10_r3dE :: Data.Data.DataRep +[GblId, Str=DmdType] +a10_r3dE = Data.Data.AlgRep a9_r3dD + +CompanyDatatypes.$tUnit [Occ=LoopBreaker] :: Data.Data.DataType +[GblId, Str=DmdType m] +CompanyDatatypes.$tUnit = Data.Data.DataType a6_r3dv a10_r3dE + +a11_r3dF :: GHC.Types.Int +[GblId, Str=DmdType] +a11_r3dF = + GHC.List.foldr2 + @ Data.Data.Constr + @ GHC.Types.Int + @ GHC.Types.Int + lvl2_r3dy + (GHC.List.badHead @ GHC.Types.Int) + a9_r3dD + Data.Data.mkConstr1 + +a12_r3dG :: GHC.Types.Int +[GblId, Str=DmdType] +a12_r3dG = + GHC.List.foldr2 + @ Data.Data.Constr + @ GHC.Types.Int + @ GHC.Types.Int + lvl3_r3dz + (GHC.List.badHead @ GHC.Types.Int) + a9_r3dD + Data.Data.mkConstr1 +end Rec } + +a13_r3dH :: [GHC.Types.Char] +[GblId, Str=DmdType] +a13_r3dH = GHC.CString.unpackCString# "CompanyDatatypes.Employee" + +CompanyDatatypes.$fDataEmployee2 :: GHC.Types.Char +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.$fDataEmployee2 = GHC.Types.C# 'E' + +CompanyDatatypes.$fDataEmployee_w1 :: GHC.Base.String +[GblId, + Caf=NoCafRefs, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.$fDataEmployee_w1 = + GHC.Types.: + @ GHC.Types.Char + CompanyDatatypes.$fDataEmployee2 + (GHC.Types.[] @ GHC.Types.Char) + +lvl5_r3dI + :: Data.Data.Constr + -> GHC.Types.Int -> GHC.Types.Int -> GHC.Types.Int +[GblId, Arity=3, Caf=NoCafRefs] +lvl5_r3dI = + \ (x_a17I :: Data.Data.Constr) + (y_a17J :: GHC.Types.Int) + (r_a17K :: GHC.Types.Int) -> + case x_a17I + of _ + { Data.Data.Constr ds2_a17P ds3_a17Q ds4_a17R ds5_a17S ds6_a17T -> + case GHC.Base.eqString ds3_a17Q CompanyDatatypes.$fDataEmployee_w1 + of _ { + GHC.Types.False -> r_a17K; + GHC.Types.True -> y_a17J + } + } + +Rec { +CompanyDatatypes.$fDataEmployee3 :: Data.Data.ConstrRep +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.$fDataEmployee3 = + Data.Data.AlgConstr CompanyDatatypes.$fDataEmployee4 + +CompanyDatatypes.$cE :: Data.Data.Constr +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 60}] +CompanyDatatypes.$cE = + Data.Data.Constr + CompanyDatatypes.$fDataEmployee3 + CompanyDatatypes.$fDataEmployee_w1 + (GHC.Types.[] @ GHC.Base.String) + Data.Data.Prefix + CompanyDatatypes.$tEmployee + +a14_r3dJ :: [Data.Data.Constr] +[GblId, Str=DmdType] +a14_r3dJ = + GHC.Types.: + @ Data.Data.Constr + CompanyDatatypes.$cE + (GHC.Types.[] @ Data.Data.Constr) + +a15_r3dK :: Data.Data.DataRep +[GblId, Str=DmdType] +a15_r3dK = Data.Data.AlgRep a14_r3dJ + +CompanyDatatypes.$tEmployee [Occ=LoopBreaker] :: Data.Data.DataType +[GblId, Str=DmdType m] +CompanyDatatypes.$tEmployee = Data.Data.DataType a13_r3dH a15_r3dK + +CompanyDatatypes.$fDataEmployee4 [Occ=LoopBreaker] :: GHC.Types.Int +[GblId, Str=DmdType] +CompanyDatatypes.$fDataEmployee4 = + GHC.List.foldr2 + @ Data.Data.Constr + @ GHC.Types.Int + @ GHC.Types.Int + lvl5_r3dI + (GHC.List.badHead @ GHC.Types.Int) + a14_r3dJ + Data.Data.mkConstr1 +end Rec } + +a16_r3dL :: [GHC.Types.Char] +[GblId, Str=DmdType] +a16_r3dL = GHC.CString.unpackCString# "CompanyDatatypes.Person" + +CompanyDatatypes.$fDataPerson3 :: GHC.Types.Char +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.$fDataPerson3 = GHC.Types.C# 'P' + +CompanyDatatypes.$fDataPerson_w1 :: GHC.Base.String +[GblId, + Caf=NoCafRefs, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.$fDataPerson_w1 = + GHC.Types.: + @ GHC.Types.Char + CompanyDatatypes.$fDataPerson3 + (GHC.Types.[] @ GHC.Types.Char) + +lvl6_r3dM + :: Data.Data.Constr + -> GHC.Types.Int -> GHC.Types.Int -> GHC.Types.Int +[GblId, Arity=3, Caf=NoCafRefs] +lvl6_r3dM = + \ (x_a17I :: Data.Data.Constr) + (y_a17J :: GHC.Types.Int) + (r_a17K :: GHC.Types.Int) -> + case x_a17I + of _ + { Data.Data.Constr ds2_a17P ds3_a17Q ds4_a17R ds5_a17S ds6_a17T -> + case GHC.Base.eqString ds3_a17Q CompanyDatatypes.$fDataPerson_w1 + of _ { + GHC.Types.False -> r_a17K; + GHC.Types.True -> y_a17J + } + } + +Rec { +CompanyDatatypes.$fDataPerson4 :: Data.Data.ConstrRep +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.$fDataPerson4 = + Data.Data.AlgConstr CompanyDatatypes.$fDataPerson5 + +CompanyDatatypes.$cP :: Data.Data.Constr +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 60}] +CompanyDatatypes.$cP = + Data.Data.Constr + CompanyDatatypes.$fDataPerson4 + CompanyDatatypes.$fDataPerson_w1 + (GHC.Types.[] @ GHC.Base.String) + Data.Data.Prefix + CompanyDatatypes.$tPerson + +a17_r3dN :: [Data.Data.Constr] +[GblId, Str=DmdType] +a17_r3dN = + GHC.Types.: + @ Data.Data.Constr + CompanyDatatypes.$cP + (GHC.Types.[] @ Data.Data.Constr) + +a18_r3dO :: Data.Data.DataRep +[GblId, Str=DmdType] +a18_r3dO = Data.Data.AlgRep a17_r3dN + +CompanyDatatypes.$tPerson [Occ=LoopBreaker] :: Data.Data.DataType +[GblId, Str=DmdType m] +CompanyDatatypes.$tPerson = Data.Data.DataType a16_r3dL a18_r3dO + +CompanyDatatypes.$fDataPerson5 [Occ=LoopBreaker] :: GHC.Types.Int +[GblId, Str=DmdType] +CompanyDatatypes.$fDataPerson5 = + GHC.List.foldr2 + @ Data.Data.Constr + @ GHC.Types.Int + @ GHC.Types.Int + lvl6_r3dM + (GHC.List.badHead @ GHC.Types.Int) + a17_r3dN + Data.Data.mkConstr1 +end Rec } + +a19_r3dP :: [GHC.Types.Char] +[GblId, Str=DmdType] +a19_r3dP = GHC.CString.unpackCString# "CompanyDatatypes.Salary" + +CompanyDatatypes.$fDataSalary2 :: GHC.Types.Char +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.$fDataSalary2 = GHC.Types.C# 'S' + +CompanyDatatypes.$fDataSalary_w1 :: GHC.Base.String +[GblId, + Caf=NoCafRefs, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.$fDataSalary_w1 = + GHC.Types.: + @ GHC.Types.Char + CompanyDatatypes.$fDataSalary2 + (GHC.Types.[] @ GHC.Types.Char) + +lvl7_r3dQ + :: Data.Data.Constr + -> GHC.Types.Int -> GHC.Types.Int -> GHC.Types.Int +[GblId, Arity=3, Caf=NoCafRefs] +lvl7_r3dQ = + \ (x_a17I :: Data.Data.Constr) + (y_a17J :: GHC.Types.Int) + (r_a17K :: GHC.Types.Int) -> + case x_a17I + of _ + { Data.Data.Constr ds2_a17P ds3_a17Q ds4_a17R ds5_a17S ds6_a17T -> + case GHC.Base.eqString ds3_a17Q CompanyDatatypes.$fDataSalary_w1 + of _ { + GHC.Types.False -> r_a17K; + GHC.Types.True -> y_a17J + } + } + +Rec { +CompanyDatatypes.$fDataSalary3 :: Data.Data.ConstrRep +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.$fDataSalary3 = + Data.Data.AlgConstr CompanyDatatypes.$fDataSalary4 + +CompanyDatatypes.$cS :: Data.Data.Constr +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 60}] +CompanyDatatypes.$cS = + Data.Data.Constr + CompanyDatatypes.$fDataSalary3 + CompanyDatatypes.$fDataSalary_w1 + (GHC.Types.[] @ GHC.Base.String) + Data.Data.Prefix + CompanyDatatypes.$tSalary + +a20_r3dR :: [Data.Data.Constr] +[GblId, Str=DmdType] +a20_r3dR = + GHC.Types.: + @ Data.Data.Constr + CompanyDatatypes.$cS + (GHC.Types.[] @ Data.Data.Constr) + +a21_r3dS :: Data.Data.DataRep +[GblId, Str=DmdType] +a21_r3dS = Data.Data.AlgRep a20_r3dR + +CompanyDatatypes.$tSalary [Occ=LoopBreaker] :: Data.Data.DataType +[GblId, Str=DmdType m] +CompanyDatatypes.$tSalary = Data.Data.DataType a19_r3dP a21_r3dS + +CompanyDatatypes.$fDataSalary4 [Occ=LoopBreaker] :: GHC.Types.Int +[GblId, Str=DmdType] +CompanyDatatypes.$fDataSalary4 = + GHC.List.foldr2 + @ Data.Data.Constr + @ GHC.Types.Int + @ GHC.Types.Int + lvl7_r3dQ + (GHC.List.badHead @ GHC.Types.Int) + a20_r3dR + Data.Data.mkConstr1 +end Rec } + +CompanyDatatypes.person3 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 40 0}] +CompanyDatatypes.person3 = GHC.CString.unpackCString# "Lazy" + +CompanyDatatypes.person2 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 40 0}] +CompanyDatatypes.person2 = GHC.CString.unpackCString# "Home" + +CompanyDatatypes.person1 :: CompanyDatatypes.Person +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.person1 = + CompanyDatatypes.P + CompanyDatatypes.person3 CompanyDatatypes.person2 + +CompanyDatatypes.dept3 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.dept3 = GHC.CString.unpackCString# "Useless" + +CompanyDatatypes.dept2 :: CompanyDatatypes.Employee +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.dept2 = + CompanyDatatypes.E + CompanyDatatypes.person1 + (GHC.Err.undefined @ CompanyDatatypes.Salary) + +CompanyDatatypes.dept1 :: CompanyDatatypes.Dept +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 40}] +CompanyDatatypes.dept1 = + CompanyDatatypes.D + CompanyDatatypes.dept3 + CompanyDatatypes.dept2 + (GHC.Types.[] @ CompanyDatatypes.Unit) + +CompanyDatatypes.blair5 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.blair5 = GHC.CString.unpackCString# "Blair" + +CompanyDatatypes.blair4 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.blair4 = GHC.CString.unpackCString# "London" + +CompanyDatatypes.blair3 :: CompanyDatatypes.Person +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.blair3 = + CompanyDatatypes.P CompanyDatatypes.blair5 CompanyDatatypes.blair4 + +CompanyDatatypes.blair2 :: GHC.Types.Float +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.blair2 = GHC.Types.F# (__float 100000.0) + +CompanyDatatypes.blair1 :: CompanyDatatypes.Salary +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.blair1 = + CompanyDatatypes.S CompanyDatatypes.blair2 + +CompanyDatatypes.blair :: CompanyDatatypes.Employee +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.blair = + CompanyDatatypes.E CompanyDatatypes.blair3 CompanyDatatypes.blair1 + +CompanyDatatypes.marlow5 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.marlow5 = GHC.CString.unpackCString# "Marlow" + +CompanyDatatypes.marlow4 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 60 0}] +CompanyDatatypes.marlow4 = GHC.CString.unpackCString# "Cambridge" + +CompanyDatatypes.marlow3 :: CompanyDatatypes.Person +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.marlow3 = + CompanyDatatypes.P + CompanyDatatypes.marlow5 CompanyDatatypes.marlow4 + +CompanyDatatypes.marlow2 :: GHC.Types.Float +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.marlow2 = GHC.Types.F# (__float 2000.0) + +CompanyDatatypes.marlow1 :: CompanyDatatypes.Salary +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.marlow1 = + CompanyDatatypes.S CompanyDatatypes.marlow2 + +CompanyDatatypes.marlow :: CompanyDatatypes.Employee +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.marlow = + CompanyDatatypes.E + CompanyDatatypes.marlow3 CompanyDatatypes.marlow1 + +CompanyDatatypes.joost5 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.joost5 = GHC.CString.unpackCString# "Joost" + +CompanyDatatypes.joost4 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 60 0}] +CompanyDatatypes.joost4 = GHC.CString.unpackCString# "Amsterdam" + +CompanyDatatypes.joost3 :: CompanyDatatypes.Person +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.joost3 = + CompanyDatatypes.P CompanyDatatypes.joost5 CompanyDatatypes.joost4 + +CompanyDatatypes.joost2 :: GHC.Types.Float +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.joost2 = GHC.Types.F# (__float 1000.0) + +CompanyDatatypes.joost1 :: CompanyDatatypes.Salary +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.joost1 = + CompanyDatatypes.S CompanyDatatypes.joost2 + +CompanyDatatypes.joost :: CompanyDatatypes.Employee +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.joost = + CompanyDatatypes.E CompanyDatatypes.joost3 CompanyDatatypes.joost1 + +CompanyDatatypes.laemmel4 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.laemmel4 = GHC.CString.unpackCString# "Laemmel" + +CompanyDatatypes.laemmel3 :: CompanyDatatypes.Person +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.laemmel3 = + CompanyDatatypes.P + CompanyDatatypes.laemmel4 CompanyDatatypes.joost4 + +CompanyDatatypes.laemmel2 :: GHC.Types.Float +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.laemmel2 = GHC.Types.F# (__float 8000.0) + +CompanyDatatypes.laemmel1 :: CompanyDatatypes.Salary +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.laemmel1 = + CompanyDatatypes.S CompanyDatatypes.laemmel2 + +CompanyDatatypes.laemmel :: CompanyDatatypes.Employee +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.laemmel = + CompanyDatatypes.E + CompanyDatatypes.laemmel3 CompanyDatatypes.laemmel1 + +CompanyDatatypes.lammel3 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.lammel3 = GHC.CString.unpackCString# "Lammel" + +CompanyDatatypes.lammel2 :: CompanyDatatypes.Person +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.lammel2 = + CompanyDatatypes.P CompanyDatatypes.lammel3 CompanyDatatypes.joost4 + +CompanyDatatypes.lammel1 :: CompanyDatatypes.Salary +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.lammel1 = + CompanyDatatypes.S CompanyDatatypes.laemmel2 + +CompanyDatatypes.lammel :: CompanyDatatypes.Employee +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.lammel = + CompanyDatatypes.E + CompanyDatatypes.lammel2 CompanyDatatypes.lammel1 + +CompanyDatatypes.genCom10 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.genCom10 = GHC.CString.unpackCString# "Research" + +CompanyDatatypes.genCom9 :: CompanyDatatypes.Unit +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.genCom9 = + CompanyDatatypes.PU CompanyDatatypes.joost + +CompanyDatatypes.genCom8 :: CompanyDatatypes.Unit +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.genCom8 = + CompanyDatatypes.PU CompanyDatatypes.marlow + +CompanyDatatypes.genCom'6 :: [CompanyDatatypes.Unit] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.genCom'6 = + GHC.Types.: + @ CompanyDatatypes.Unit + CompanyDatatypes.genCom8 + (GHC.Types.[] @ CompanyDatatypes.Unit) + +CompanyDatatypes.genCom'5 :: [CompanyDatatypes.Unit] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.genCom'5 = + GHC.Types.: + @ CompanyDatatypes.Unit + CompanyDatatypes.genCom9 + CompanyDatatypes.genCom'6 + +CompanyDatatypes.genCom'4 :: CompanyDatatypes.Dept +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 40}] +CompanyDatatypes.genCom'4 = + CompanyDatatypes.D + CompanyDatatypes.genCom10 + CompanyDatatypes.lammel + CompanyDatatypes.genCom'5 + +CompanyDatatypes.genCom4 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.genCom4 = GHC.CString.unpackCString# "Strategy" + +CompanyDatatypes.genCom'3 :: CompanyDatatypes.Dept +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 40}] +CompanyDatatypes.genCom'3 = + CompanyDatatypes.D + CompanyDatatypes.genCom4 + CompanyDatatypes.blair + (GHC.Types.[] @ CompanyDatatypes.Unit) + +CompanyDatatypes.genCom'2 :: [CompanyDatatypes.Dept] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.genCom'2 = + GHC.Types.: + @ CompanyDatatypes.Dept + CompanyDatatypes.genCom'3 + (GHC.Types.[] @ CompanyDatatypes.Dept) + +CompanyDatatypes.genCom'1 :: [CompanyDatatypes.Dept] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.genCom'1 = + GHC.Types.: + @ CompanyDatatypes.Dept + CompanyDatatypes.genCom'4 + CompanyDatatypes.genCom'2 + +CompanyDatatypes.genCom' :: CompanyDatatypes.Company +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.genCom' = + CompanyDatatypes.C CompanyDatatypes.genCom'1 + +CompanyDatatypes.genCom7 :: [CompanyDatatypes.Unit] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.genCom7 = + GHC.Types.: + @ CompanyDatatypes.Unit + CompanyDatatypes.genCom8 + (GHC.Types.[] @ CompanyDatatypes.Unit) + +CompanyDatatypes.genCom6 :: [CompanyDatatypes.Unit] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.genCom6 = + GHC.Types.: + @ CompanyDatatypes.Unit + CompanyDatatypes.genCom9 + CompanyDatatypes.genCom7 + +CompanyDatatypes.genCom5 :: CompanyDatatypes.Dept +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 40}] +CompanyDatatypes.genCom5 = + CompanyDatatypes.D + CompanyDatatypes.genCom10 + CompanyDatatypes.laemmel + CompanyDatatypes.genCom6 + +CompanyDatatypes.genCom3 :: CompanyDatatypes.Dept +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 40}] +CompanyDatatypes.genCom3 = + CompanyDatatypes.D + CompanyDatatypes.genCom4 + CompanyDatatypes.blair + (GHC.Types.[] @ CompanyDatatypes.Unit) + +CompanyDatatypes.genCom2 :: [CompanyDatatypes.Dept] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.genCom2 = + GHC.Types.: + @ CompanyDatatypes.Dept + CompanyDatatypes.genCom3 + (GHC.Types.[] @ CompanyDatatypes.Dept) + +CompanyDatatypes.genCom1 :: [CompanyDatatypes.Dept] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.genCom1 = + GHC.Types.: + @ CompanyDatatypes.Dept + CompanyDatatypes.genCom5 + CompanyDatatypes.genCom2 + +CompanyDatatypes.genCom :: CompanyDatatypes.Company +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.genCom = + CompanyDatatypes.C CompanyDatatypes.genCom1 + +CompanyDatatypes.$fDataCompany_$cdataTypeOf + :: CompanyDatatypes.Company -> Data.Data.DataType +[GblId, + Arity=1, + Str=DmdType Am, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ _ -> CompanyDatatypes.$tCompany}] +CompanyDatatypes.$fDataCompany_$cdataTypeOf = + \ _ -> CompanyDatatypes.$tCompany + +CompanyDatatypes.$fDataCompany_$ctoConstr + :: CompanyDatatypes.Company -> Data.Data.Constr +[GblId, + Arity=1, + Str=DmdType U(A)m, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (ds_d16f [Occ=Once!] :: CompanyDatatypes.Company) -> + case ds_d16f of _ { CompanyDatatypes.C _ -> + CompanyDatatypes.$cC + }}] +CompanyDatatypes.$fDataCompany_$ctoConstr = + \ (ds_d16f :: CompanyDatatypes.Company) -> + case ds_d16f of _ { CompanyDatatypes.C ds1_d16g -> + CompanyDatatypes.$cC + } + +CompanyDatatypes.$fDataDept_$cdataTypeOf + :: CompanyDatatypes.Dept -> Data.Data.DataType +[GblId, + Arity=1, + Str=DmdType Am, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ _ -> CompanyDatatypes.$tDept}] +CompanyDatatypes.$fDataDept_$cdataTypeOf = + \ _ -> CompanyDatatypes.$tDept + +CompanyDatatypes.$fDataDept_$ctoConstr + :: CompanyDatatypes.Dept -> Data.Data.Constr +[GblId, + Arity=1, + Str=DmdType U(AAA)m, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (ds_d160 [Occ=Once!] :: CompanyDatatypes.Dept) -> + case ds_d160 of _ { CompanyDatatypes.D _ _ _ -> + CompanyDatatypes.$cD + }}] +CompanyDatatypes.$fDataDept_$ctoConstr = + \ (ds_d160 :: CompanyDatatypes.Dept) -> + case ds_d160 + of _ { CompanyDatatypes.D ds1_d161 ds2_d162 ds3_d163 -> + CompanyDatatypes.$cD + } + +CompanyDatatypes.$fDataUnit_$cdataTypeOf + :: CompanyDatatypes.Unit -> Data.Data.DataType +[GblId, + Arity=1, + Str=DmdType Am, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ _ -> CompanyDatatypes.$tUnit}] +CompanyDatatypes.$fDataUnit_$cdataTypeOf = + \ _ -> CompanyDatatypes.$tUnit + +CompanyDatatypes.$fDataUnit_$ctoConstr + :: CompanyDatatypes.Unit -> Data.Data.Constr +[GblId, + Arity=1, + Str=DmdType Sm, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (ds_d15L [Occ=Once!] :: CompanyDatatypes.Unit) -> + case ds_d15L of _ { + CompanyDatatypes.PU _ -> CompanyDatatypes.$cPU; + CompanyDatatypes.DU _ -> CompanyDatatypes.$cDU + }}] +CompanyDatatypes.$fDataUnit_$ctoConstr = + \ (ds_d15L :: CompanyDatatypes.Unit) -> + case ds_d15L of _ { + CompanyDatatypes.PU ds1_d15N -> CompanyDatatypes.$cPU; + CompanyDatatypes.DU ds1_d15M -> CompanyDatatypes.$cDU + } + +CompanyDatatypes.$fDataEmployee_$cdataTypeOf + :: CompanyDatatypes.Employee -> Data.Data.DataType +[GblId, + Arity=1, + Str=DmdType Am, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ _ -> CompanyDatatypes.$tEmployee}] +CompanyDatatypes.$fDataEmployee_$cdataTypeOf = + \ _ -> CompanyDatatypes.$tEmployee + +CompanyDatatypes.$fDataEmployee_$ctoConstr + :: CompanyDatatypes.Employee -> Data.Data.Constr +[GblId, + Arity=1, + Str=DmdType U(AA)m, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (ds_d15n [Occ=Once!] :: CompanyDatatypes.Employee) -> + case ds_d15n of _ { CompanyDatatypes.E _ _ -> + CompanyDatatypes.$cE + }}] +CompanyDatatypes.$fDataEmployee_$ctoConstr = + \ (ds_d15n :: CompanyDatatypes.Employee) -> + case ds_d15n of _ { CompanyDatatypes.E ds1_d15o ds2_d15p -> + CompanyDatatypes.$cE + } + +CompanyDatatypes.$fDataPerson_$cdataTypeOf + :: CompanyDatatypes.Person -> Data.Data.DataType +[GblId, + Arity=1, + Str=DmdType Am, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ _ -> CompanyDatatypes.$tPerson}] +CompanyDatatypes.$fDataPerson_$cdataTypeOf = + \ _ -> CompanyDatatypes.$tPerson + +CompanyDatatypes.$fDataPerson_$ctoConstr + :: CompanyDatatypes.Person -> Data.Data.Constr +[GblId, + Arity=1, + Str=DmdType U(AA)m, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (ds_d159 [Occ=Once!] :: CompanyDatatypes.Person) -> + case ds_d159 of _ { CompanyDatatypes.P _ _ -> + CompanyDatatypes.$cP + }}] +CompanyDatatypes.$fDataPerson_$ctoConstr = + \ (ds_d159 :: CompanyDatatypes.Person) -> + case ds_d159 of _ { CompanyDatatypes.P ds1_d15a ds2_d15b -> + CompanyDatatypes.$cP + } + +CompanyDatatypes.$fDataPerson2 + :: [GHC.Types.Char] -> Data.Typeable.Internal.TypeRep +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 30 0}] +CompanyDatatypes.$fDataPerson2 = + Data.Typeable.Internal.typeOfDefault + @ [] + @ GHC.Types.Char + (Data.Typeable.Internal.$fTypeable1[]_$ctypeOf1 + `cast` (Sym <(Data.Typeable.Internal.NTCo:Typeable1 <[]>)> + :: (forall a_a1GP. [a_a1GP] -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable1 [])) + (Data.Typeable.Internal.$fTypeableChar_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (GHC.Types.Char -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable GHC.Types.Char)) + +CompanyDatatypes.$fDataPerson_$dData1 + :: Data.Data.Data CompanyDatatypes.Address +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 30 0}] +CompanyDatatypes.$fDataPerson_$dData1 = + Data.Data.$fData[] + @ GHC.Types.Char + (CompanyDatatypes.$fDataPerson2 + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable <[GHC.Types.Char]>)> + :: ([GHC.Types.Char] -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable [GHC.Types.Char])) + Data.Data.$fDataChar + +CompanyDatatypes.$fDataPerson_$cgunfold + :: forall (c_aV9 :: * -> *). + (forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + -> (forall r_aVc. r_aVc -> c_aV9 r_aVc) + -> Data.Data.Constr + -> c_aV9 CompanyDatatypes.Person +[GblId, + Arity=3, + Str=DmdType C(C(S))LA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (c_t1p :: * -> *)) + (k_XWB + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_t1p (b_aVa -> r_aVb) -> c_t1p r_aVb) + (z_XWD [Occ=Once!] :: forall r_aVc. r_aVc -> c_t1p r_aVc) + _ -> + k_XWB + @ CompanyDatatypes.Address + @ CompanyDatatypes.Person + CompanyDatatypes.$fDataPerson_$dData1 + (k_XWB + @ CompanyDatatypes.Name + @ (CompanyDatatypes.Address -> CompanyDatatypes.Person) + CompanyDatatypes.$fDataPerson_$dData1 + (z_XWD + @ (CompanyDatatypes.Name + -> CompanyDatatypes.Address -> CompanyDatatypes.Person) + CompanyDatatypes.P))}] +CompanyDatatypes.$fDataPerson_$cgunfold = + \ (@ (c_t1p :: * -> *)) + (k_XWB + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_t1p (b_aVa -> r_aVb) -> c_t1p r_aVb) + (z_XWD :: forall r_aVc. r_aVc -> c_t1p r_aVc) + _ -> + k_XWB + @ CompanyDatatypes.Address + @ CompanyDatatypes.Person + CompanyDatatypes.$fDataPerson_$dData1 + (k_XWB + @ CompanyDatatypes.Name + @ (CompanyDatatypes.Address -> CompanyDatatypes.Person) + CompanyDatatypes.$fDataPerson_$dData1 + (z_XWD + @ (CompanyDatatypes.Name + -> CompanyDatatypes.Address -> CompanyDatatypes.Person) + CompanyDatatypes.P)) + +CompanyDatatypes.$fDataPerson_$dData + :: Data.Data.Data CompanyDatatypes.Address +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 30 0}] +CompanyDatatypes.$fDataPerson_$dData = + Data.Data.$fData[] + @ GHC.Types.Char + (CompanyDatatypes.$fDataPerson2 + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable <[GHC.Types.Char]>)> + :: ([GHC.Types.Char] -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable [GHC.Types.Char])) + Data.Data.$fDataChar + +CompanyDatatypes.$w$cgfoldl + :: forall (c_aV0 :: * -> *). + (forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + -> (forall g_aV3. g_aV3 -> c_aV0 g_aV3) + -> CompanyDatatypes.Name + -> CompanyDatatypes.Address + -> c_aV0 CompanyDatatypes.Person +[GblId, + Arity=4, + Str=DmdType C(C(C(S)))LLL, + Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [120 60 0 0] 100 0}] +CompanyDatatypes.$w$cgfoldl = + \ (@ (c_aV0 :: * -> *)) + (w_s2bX + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + (w3_s2bY :: forall g_aV3. g_aV3 -> c_aV0 g_aV3) + (ww_s2c1 :: CompanyDatatypes.Name) + (ww1_s2c2 :: CompanyDatatypes.Address) -> + w_s2bX + @ CompanyDatatypes.Address + @ CompanyDatatypes.Person + CompanyDatatypes.$fDataPerson_$dData + (w_s2bX + @ CompanyDatatypes.Name + @ (CompanyDatatypes.Address -> CompanyDatatypes.Person) + CompanyDatatypes.$fDataPerson_$dData + (w3_s2bY + @ (CompanyDatatypes.Name + -> CompanyDatatypes.Address -> CompanyDatatypes.Person) + CompanyDatatypes.P) + ww_s2c1) + ww1_s2c2 + +CompanyDatatypes.$fDataPerson_$cgfoldl [InlPrag=INLINE[0]] + :: forall (c_aV0 :: * -> *). + (forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + -> (forall g_aV3. g_aV3 -> c_aV0 g_aV3) + -> CompanyDatatypes.Person + -> c_aV0 CompanyDatatypes.Person +[GblId, + Arity=3, + Str=DmdType C(C(C(S)))LU(LL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgfoldl, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (c_aV0 :: * -> *)) + (w_s2bX [Occ=Once] + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + (w3_s2bY [Occ=Once] :: forall g_aV3. g_aV3 -> c_aV0 g_aV3) + (w4_s2bZ [Occ=Once!] :: CompanyDatatypes.Person) -> + case w4_s2bZ + of _ { CompanyDatatypes.P ww_s2c1 [Occ=Once] ww1_s2c2 [Occ=Once] -> + CompanyDatatypes.$w$cgfoldl @ c_aV0 w_s2bX w3_s2bY ww_s2c1 ww1_s2c2 + }}] +CompanyDatatypes.$fDataPerson_$cgfoldl = + \ (@ (c_aV0 :: * -> *)) + (w_s2bX + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + (w3_s2bY :: forall g_aV3. g_aV3 -> c_aV0 g_aV3) + (w4_s2bZ :: CompanyDatatypes.Person) -> + case w4_s2bZ of _ { CompanyDatatypes.P ww_s2c1 ww1_s2c2 -> + CompanyDatatypes.$w$cgfoldl @ c_aV0 w_s2bX w3_s2bY ww_s2c1 ww1_s2c2 + } + +CompanyDatatypes.$w$c==2 + :: CompanyDatatypes.Name + -> CompanyDatatypes.Address + -> CompanyDatatypes.Name + -> CompanyDatatypes.Address + -> GHC.Types.Bool +[GblId, + Arity=4, + Caf=NoCafRefs, + Str=DmdType SLSL, + Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [0 0 0 0] 80 10}] +CompanyDatatypes.$w$c==2 = + \ (ww_s2c9 :: CompanyDatatypes.Name) + (ww1_s2ca :: CompanyDatatypes.Address) + (ww2_s2ce :: CompanyDatatypes.Name) + (ww3_s2cf :: CompanyDatatypes.Address) -> + case GHC.Base.eqString ww_s2c9 ww2_s2ce of _ { + GHC.Types.False -> GHC.Types.False; + GHC.Types.True -> GHC.Base.eqString ww1_s2ca ww3_s2cf + } + +CompanyDatatypes.$fEqPerson_$c== [InlPrag=INLINE[0]] + :: CompanyDatatypes.Person + -> CompanyDatatypes.Person -> GHC.Types.Bool +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType U(SL)U(SL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$c==2, TopLvl=True, Arity=2, + Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (w_s2c7 [Occ=Once!] :: CompanyDatatypes.Person) + (w3_s2cc [Occ=Once!] :: CompanyDatatypes.Person) -> + case w_s2c7 + of _ { CompanyDatatypes.P ww_s2c9 [Occ=Once] ww1_s2ca [Occ=Once] -> + case w3_s2cc + of _ + { CompanyDatatypes.P ww2_s2ce [Occ=Once] ww3_s2cf [Occ=Once] -> + CompanyDatatypes.$w$c==2 ww_s2c9 ww1_s2ca ww2_s2ce ww3_s2cf + } + }}] +CompanyDatatypes.$fEqPerson_$c== = + \ (w_s2c7 :: CompanyDatatypes.Person) + (w3_s2cc :: CompanyDatatypes.Person) -> + case w_s2c7 of _ { CompanyDatatypes.P ww_s2c9 ww1_s2ca -> + case w3_s2cc of _ { CompanyDatatypes.P ww2_s2ce ww3_s2cf -> + CompanyDatatypes.$w$c==2 ww_s2c9 ww1_s2ca ww2_s2ce ww3_s2cf + } + } + +CompanyDatatypes.$w$c/= + :: CompanyDatatypes.Name + -> CompanyDatatypes.Address + -> CompanyDatatypes.Name + -> CompanyDatatypes.Address + -> GHC.Types.Bool +[GblId, + Arity=4, + Caf=NoCafRefs, + Str=DmdType SLSL, + Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [0 0 0 0] 100 30}] +CompanyDatatypes.$w$c/= = + \ (ww_s2cm :: CompanyDatatypes.Name) + (ww1_s2cn :: CompanyDatatypes.Address) + (ww2_s2cr :: CompanyDatatypes.Name) + (ww3_s2cs :: CompanyDatatypes.Address) -> + case GHC.Base.eqString ww_s2cm ww2_s2cr of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> + case GHC.Base.eqString ww1_s2cn ww3_s2cs of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> GHC.Types.False + } + } + +CompanyDatatypes.$fEqPerson_$c/= [InlPrag=INLINE[0]] + :: CompanyDatatypes.Person + -> CompanyDatatypes.Person -> GHC.Types.Bool +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType U(SL)U(SL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$c/=, TopLvl=True, Arity=2, + Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (w_s2ck [Occ=Once!] :: CompanyDatatypes.Person) + (w3_s2cp [Occ=Once!] :: CompanyDatatypes.Person) -> + case w_s2ck + of _ { CompanyDatatypes.P ww_s2cm [Occ=Once] ww1_s2cn [Occ=Once] -> + case w3_s2cp + of _ + { CompanyDatatypes.P ww2_s2cr [Occ=Once] ww3_s2cs [Occ=Once] -> + CompanyDatatypes.$w$c/= ww_s2cm ww1_s2cn ww2_s2cr ww3_s2cs + } + }}] +CompanyDatatypes.$fEqPerson_$c/= = + \ (w_s2ck :: CompanyDatatypes.Person) + (w3_s2cp :: CompanyDatatypes.Person) -> + case w_s2ck of _ { CompanyDatatypes.P ww_s2cm ww1_s2cn -> + case w3_s2cp of _ { CompanyDatatypes.P ww2_s2cr ww3_s2cs -> + CompanyDatatypes.$w$c/= ww_s2cm ww1_s2cn ww2_s2cr ww3_s2cs + } + } + +CompanyDatatypes.$fEqPerson [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Classes.Eq CompanyDatatypes.Person +[GblId[DFunId], + Caf=NoCafRefs, + Str=DmdType m, + Unf=DFun(arity=0) GHC.Classes.D:Eq [{CompanyDatatypes.$fEqPerson_$c==}, + {CompanyDatatypes.$fEqPerson_$c/=}]] +CompanyDatatypes.$fEqPerson = + GHC.Classes.D:Eq + @ CompanyDatatypes.Person + CompanyDatatypes.$fEqPerson_$c== + CompanyDatatypes.$fEqPerson_$c/= + +CompanyDatatypes.$fDataSalary_$cdataTypeOf + :: CompanyDatatypes.Salary -> Data.Data.DataType +[GblId, + Arity=1, + Str=DmdType Am, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ _ -> CompanyDatatypes.$tSalary}] +CompanyDatatypes.$fDataSalary_$cdataTypeOf = + \ _ -> CompanyDatatypes.$tSalary + +CompanyDatatypes.$fDataSalary_$ctoConstr + :: CompanyDatatypes.Salary -> Data.Data.Constr +[GblId, + Arity=1, + Str=DmdType U(A)m, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (ds_d14W [Occ=Once!] :: CompanyDatatypes.Salary) -> + case ds_d14W of _ { CompanyDatatypes.S _ -> + CompanyDatatypes.$cS + }}] +CompanyDatatypes.$fDataSalary_$ctoConstr = + \ (ds_d14W :: CompanyDatatypes.Salary) -> + case ds_d14W of _ { CompanyDatatypes.S ds1_d14X -> + CompanyDatatypes.$cS + } + +CompanyDatatypes.$fDataSalary_$cgunfold + :: forall (c_aV9 :: * -> *). + (forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + -> (forall r_aVc. r_aVc -> c_aV9 r_aVc) + -> Data.Data.Constr + -> c_aV9 CompanyDatatypes.Salary +[GblId, + Arity=3, + Str=DmdType C(C(S))LA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (c_tL :: * -> *)) + (k_aS8 [Occ=Once!] + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_tL (b_aVa -> r_aVb) -> c_tL r_aVb) + (z_aS9 [Occ=Once!] :: forall r_aVc. r_aVc -> c_tL r_aVc) + _ -> + k_aS8 + @ GHC.Types.Float + @ CompanyDatatypes.Salary + Data.Data.$fDataFloat + (z_aS9 + @ (GHC.Types.Float -> CompanyDatatypes.Salary) + CompanyDatatypes.S)}] +CompanyDatatypes.$fDataSalary_$cgunfold = + \ (@ (c_tL :: * -> *)) + (k_aS8 + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_tL (b_aVa -> r_aVb) -> c_tL r_aVb) + (z_aS9 :: forall r_aVc. r_aVc -> c_tL r_aVc) + _ -> + k_aS8 + @ GHC.Types.Float + @ CompanyDatatypes.Salary + Data.Data.$fDataFloat + (z_aS9 + @ (GHC.Types.Float -> CompanyDatatypes.Salary) CompanyDatatypes.S) + +CompanyDatatypes.$fDataSalary_$cgfoldl + :: forall (c_aV0 :: * -> *). + (forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + -> (forall g_aV3. g_aV3 -> c_aV0 g_aV3) + -> CompanyDatatypes.Salary + -> c_aV0 CompanyDatatypes.Salary +[GblId, + Arity=3, + Str=DmdType C(C(C(S)))LU(L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (c_tH :: * -> *)) + (k_aS5 [Occ=Once!] + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_tH (d_aV1 -> b_aV2) -> d_aV1 -> c_tH b_aV2) + (z_aS6 [Occ=Once!] :: forall g_aV3. g_aV3 -> c_tH g_aV3) + (ds_d14T [Occ=Once!] :: CompanyDatatypes.Salary) -> + case ds_d14T of _ { CompanyDatatypes.S a22_aS7 [Occ=Once] -> + k_aS5 + @ GHC.Types.Float + @ CompanyDatatypes.Salary + Data.Data.$fDataFloat + (z_aS6 + @ (GHC.Types.Float -> CompanyDatatypes.Salary) CompanyDatatypes.S) + a22_aS7 + }}] +CompanyDatatypes.$fDataSalary_$cgfoldl = + \ (@ (c_tH :: * -> *)) + (k_aS5 + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_tH (d_aV1 -> b_aV2) -> d_aV1 -> c_tH b_aV2) + (z_aS6 :: forall g_aV3. g_aV3 -> c_tH g_aV3) + (ds_d14T :: CompanyDatatypes.Salary) -> + case ds_d14T of _ { CompanyDatatypes.S a22_aS7 -> + k_aS5 + @ GHC.Types.Float + @ CompanyDatatypes.Salary + Data.Data.$fDataFloat + (z_aS6 + @ (GHC.Types.Float -> CompanyDatatypes.Salary) CompanyDatatypes.S) + a22_aS7 + } + +CompanyDatatypes.$fShowCompany5 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 40 0}] +CompanyDatatypes.$fShowCompany5 = GHC.CString.unpackCString# "P " + +CompanyDatatypes.$w$cshowsPrec3 + :: GHC.Prim.Int# + -> CompanyDatatypes.Name + -> CompanyDatatypes.Address + -> GHC.Base.String + -> GHC.Base.String +[GblId, + Arity=4, + Str=DmdType LLLL, + Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [0 0 0 0] 241 30}] +CompanyDatatypes.$w$cshowsPrec3 = + \ (ww_s2cA :: GHC.Prim.Int#) + (ww1_s2cE :: CompanyDatatypes.Name) + (ww2_s2cF :: CompanyDatatypes.Address) + (w_s2cH :: GHC.Base.String) -> + let { + p_a1ck :: GHC.Show.ShowS + [LclId, Arity=1, Str=DmdType L] + p_a1ck = + \ (x_a1cM :: GHC.Base.String) -> + GHC.Base.++ + @ GHC.Types.Char + CompanyDatatypes.$fShowCompany5 + (GHC.Types.: + @ GHC.Types.Char + GHC.Show.$fShowChar1 + (GHC.Show.showLitString + ww1_s2cE + (GHC.Types.: + @ GHC.Types.Char + GHC.Show.$fShowChar1 + (GHC.Types.: + @ GHC.Types.Char + GHC.Show.showSpace1 + (GHC.Types.: + @ GHC.Types.Char + GHC.Show.$fShowChar1 + (GHC.Show.showLitString + ww2_s2cF + (GHC.Types.: + @ GHC.Types.Char GHC.Show.$fShowChar1 x_a1cM))))))) } in + case GHC.Prim.>=# ww_s2cA 11 of _ { + GHC.Types.False -> p_a1ck w_s2cH; + GHC.Types.True -> + GHC.Types.: + @ GHC.Types.Char + GHC.Show.shows11 + (p_a1ck (GHC.Types.: @ GHC.Types.Char GHC.Show.shows10 w_s2cH)) + } + +CompanyDatatypes.$fShowPerson_$cshowsPrec [InlPrag=INLINE[0]] + :: GHC.Types.Int -> CompanyDatatypes.Person -> GHC.Show.ShowS +[GblId, + Arity=3, + Str=DmdType U(L)U(LL)L, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cshowsPrec3, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (w_s2cy [Occ=Once!] :: GHC.Types.Int) + (w3_s2cC [Occ=Once!] :: CompanyDatatypes.Person) + (w4_s2cH [Occ=Once] :: GHC.Base.String) -> + case w_s2cy of _ { GHC.Types.I# ww_s2cA [Occ=Once] -> + case w3_s2cC + of _ + { CompanyDatatypes.P ww1_s2cE [Occ=Once] ww2_s2cF [Occ=Once] -> + CompanyDatatypes.$w$cshowsPrec3 ww_s2cA ww1_s2cE ww2_s2cF w4_s2cH + } + }}] +CompanyDatatypes.$fShowPerson_$cshowsPrec = + \ (w_s2cy :: GHC.Types.Int) + (w3_s2cC :: CompanyDatatypes.Person) + (w4_s2cH :: GHC.Base.String) -> + case w_s2cy of _ { GHC.Types.I# ww_s2cA -> + case w3_s2cC of _ { CompanyDatatypes.P ww1_s2cE ww2_s2cF -> + CompanyDatatypes.$w$cshowsPrec3 ww_s2cA ww1_s2cE ww2_s2cF w4_s2cH + } + } + +CompanyDatatypes.$fShowPerson1 + :: CompanyDatatypes.Person -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20 0] 60 0}] +CompanyDatatypes.$fShowPerson1 = + \ (w_s2cC :: CompanyDatatypes.Person) + (w3_s2cH :: GHC.Base.String) -> + case w_s2cC of _ { CompanyDatatypes.P ww_s2cE ww1_s2cF -> + CompanyDatatypes.$w$cshowsPrec3 0 ww_s2cE ww1_s2cF w3_s2cH + } + +CompanyDatatypes.$fShowPerson_$cshowList + :: [CompanyDatatypes.Person] -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [] 20 60}] +CompanyDatatypes.$fShowPerson_$cshowList = + GHC.Show.showList__ + @ CompanyDatatypes.Person CompanyDatatypes.$fShowPerson1 + +CompanyDatatypes.$fShowPerson_$cshow + :: CompanyDatatypes.Person -> GHC.Base.String +[GblId, + Arity=1, + Str=DmdType U(LL), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (x_a1dj [Occ=Once] :: CompanyDatatypes.Person) -> + CompanyDatatypes.$fShowPerson_$cshowsPrec + GHC.Show.shows26 x_a1dj (GHC.Types.[] @ GHC.Types.Char)}] +CompanyDatatypes.$fShowPerson_$cshow = + \ (x_a1dj :: CompanyDatatypes.Person) -> + case x_a1dj of _ { CompanyDatatypes.P ww_s2cE ww1_s2cF -> + CompanyDatatypes.$w$cshowsPrec3 + 0 ww_s2cE ww1_s2cF (GHC.Types.[] @ GHC.Types.Char) + } + +CompanyDatatypes.$fShowPerson [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Show.Show CompanyDatatypes.Person +[GblId[DFunId], + Str=DmdType m, + Unf=DFun(arity=0) GHC.Show.D:Show [{CompanyDatatypes.$fShowPerson_$cshowsPrec}, + {CompanyDatatypes.$fShowPerson_$cshow}, + {CompanyDatatypes.$fShowPerson_$cshowList}]] +CompanyDatatypes.$fShowPerson = + GHC.Show.D:Show + @ CompanyDatatypes.Person + CompanyDatatypes.$fShowPerson_$cshowsPrec + CompanyDatatypes.$fShowPerson_$cshow + CompanyDatatypes.$fShowPerson_$cshowList + +CompanyDatatypes.$fShowCompany7 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 40 0}] +CompanyDatatypes.$fShowCompany7 = GHC.CString.unpackCString# "S " + +CompanyDatatypes.$fShowCompany8 :: GHC.Types.Int +[GblId, + Caf=NoCafRefs, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 20}] +CompanyDatatypes.$fShowCompany8 = GHC.Types.I# 11 + +CompanyDatatypes.$w$cshowsPrec4 + :: GHC.Prim.Int# -> GHC.Types.Float -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType LL, + Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [0 20] 221 120}] +CompanyDatatypes.$w$cshowsPrec4 = + \ (ww_s2cN :: GHC.Prim.Int#) (ww1_s2cR :: GHC.Types.Float) -> + let { + g_a1cL [Dmd=Just L] :: GHC.Base.String -> GHC.Base.String + [LclId, Str=DmdType] + g_a1cL = + case ww1_s2cR of _ { GHC.Types.F# ww2_a25X -> + GHC.Float.$w$sshowSignedFloat1 + GHC.Float.$fShowFloat_$sshowFloat + CompanyDatatypes.$fShowCompany8 + ww2_a25X + } } in + case GHC.Prim.>=# ww_s2cN 11 of _ { + GHC.Types.False -> + \ (x_a1cM :: GHC.Base.String) -> + GHC.Base.++ + @ GHC.Types.Char CompanyDatatypes.$fShowCompany7 (g_a1cL x_a1cM); + GHC.Types.True -> + \ (x_a1cp :: GHC.Base.String) -> + GHC.Types.: + @ GHC.Types.Char + GHC.Show.shows11 + (GHC.Base.++ + @ GHC.Types.Char + CompanyDatatypes.$fShowCompany7 + (g_a1cL (GHC.Types.: @ GHC.Types.Char GHC.Show.shows10 x_a1cp))) + } + +CompanyDatatypes.$fShowSalary_$cshowsPrec [InlPrag=INLINE[0]] + :: GHC.Types.Int -> CompanyDatatypes.Salary -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType U(L)U(L), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cshowsPrec4, TopLvl=True, + Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (w_s2cL [Occ=Once!] :: GHC.Types.Int) + (w3_s2cP [Occ=Once!] :: CompanyDatatypes.Salary) -> + case w_s2cL of _ { GHC.Types.I# ww_s2cN [Occ=Once] -> + case w3_s2cP of _ { CompanyDatatypes.S ww1_s2cR [Occ=Once] -> + CompanyDatatypes.$w$cshowsPrec4 ww_s2cN ww1_s2cR + } + }}] +CompanyDatatypes.$fShowSalary_$cshowsPrec = + \ (w_s2cL :: GHC.Types.Int) (w3_s2cP :: CompanyDatatypes.Salary) -> + case w_s2cL of _ { GHC.Types.I# ww_s2cN -> + case w3_s2cP of _ { CompanyDatatypes.S ww1_s2cR -> + CompanyDatatypes.$w$cshowsPrec4 ww_s2cN ww1_s2cR + } + } + +CompanyDatatypes.$fShowSalary1 + :: CompanyDatatypes.Salary -> GHC.Show.ShowS +[GblId, + Arity=1, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20] 40 0}] +CompanyDatatypes.$fShowSalary1 = + \ (w_s2cP :: CompanyDatatypes.Salary) -> + case w_s2cP of _ { CompanyDatatypes.S ww_s2cR -> + CompanyDatatypes.$w$cshowsPrec4 0 ww_s2cR + } + +CompanyDatatypes.$fShowSalary_$cshowList + :: [CompanyDatatypes.Salary] -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [] 20 60}] +CompanyDatatypes.$fShowSalary_$cshowList = + GHC.Show.showList__ + @ CompanyDatatypes.Salary CompanyDatatypes.$fShowSalary1 + +CompanyDatatypes.$fShowSalary_$cshow + :: CompanyDatatypes.Salary -> GHC.Base.String +[GblId, + Arity=1, + Str=DmdType U(L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (x_a1dj [Occ=Once] :: CompanyDatatypes.Salary) -> + CompanyDatatypes.$fShowSalary_$cshowsPrec + GHC.Show.shows26 x_a1dj (GHC.Types.[] @ GHC.Types.Char)}] +CompanyDatatypes.$fShowSalary_$cshow = + \ (x_a1dj :: CompanyDatatypes.Salary) -> + case x_a1dj of _ { CompanyDatatypes.S ww_s2cR -> + CompanyDatatypes.$w$cshowsPrec4 + 0 ww_s2cR (GHC.Types.[] @ GHC.Types.Char) + } + +CompanyDatatypes.$fShowSalary [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Show.Show CompanyDatatypes.Salary +[GblId[DFunId], + Str=DmdType m, + Unf=DFun(arity=0) GHC.Show.D:Show [{CompanyDatatypes.$fShowSalary_$cshowsPrec}, + {CompanyDatatypes.$fShowSalary_$cshow}, + {CompanyDatatypes.$fShowSalary_$cshowList}]] +CompanyDatatypes.$fShowSalary = + GHC.Show.D:Show + @ CompanyDatatypes.Salary + CompanyDatatypes.$fShowSalary_$cshowsPrec + CompanyDatatypes.$fShowSalary_$cshow + CompanyDatatypes.$fShowSalary_$cshowList + +CompanyDatatypes.$fShowCompany6 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 40 0}] +CompanyDatatypes.$fShowCompany6 = GHC.CString.unpackCString# "E " + +CompanyDatatypes.$w$cshowsPrec2 + :: GHC.Prim.Int# + -> CompanyDatatypes.Person + -> CompanyDatatypes.Salary + -> GHC.Show.ShowS +[GblId, + Arity=3, + Str=DmdType LLL, + Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [0 20 20] 261 120}] +CompanyDatatypes.$w$cshowsPrec2 = + \ (ww_s2cY :: GHC.Prim.Int#) + (ww1_s2d2 :: CompanyDatatypes.Person) + (ww2_s2d3 :: CompanyDatatypes.Salary) -> + let { + g_X1m6 [Dmd=Just L] :: GHC.Base.String -> GHC.Base.String + [LclId, Str=DmdType] + g_X1m6 = + case ww2_s2d3 of _ { CompanyDatatypes.S ww3_s2cR -> + CompanyDatatypes.$w$cshowsPrec4 11 ww3_s2cR + } } in + let { + p_a1ck :: GHC.Show.ShowS + [LclId, Arity=1, Str=DmdType L] + p_a1ck = + \ (x_X1mc :: GHC.Base.String) -> + GHC.Base.++ + @ GHC.Types.Char + CompanyDatatypes.$fShowCompany6 + (case ww1_s2d2 of _ { CompanyDatatypes.P ww3_s2cE ww4_s2cF -> + CompanyDatatypes.$w$cshowsPrec3 + 11 + ww3_s2cE + ww4_s2cF + (GHC.Types.: @ GHC.Types.Char GHC.Show.showSpace1 (g_X1m6 x_X1mc)) + }) } in + case GHC.Prim.>=# ww_s2cY 11 of _ { + GHC.Types.False -> p_a1ck; + GHC.Types.True -> + \ (x_a1cp :: GHC.Base.String) -> + GHC.Types.: + @ GHC.Types.Char + GHC.Show.shows11 + (p_a1ck (GHC.Types.: @ GHC.Types.Char GHC.Show.shows10 x_a1cp)) + } + +CompanyDatatypes.$fShowEmployee_$cshowsPrec [InlPrag=INLINE[0]] + :: GHC.Types.Int -> CompanyDatatypes.Employee -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType U(L)U(LL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cshowsPrec2, TopLvl=True, + Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (w_s2cW [Occ=Once!] :: GHC.Types.Int) + (w3_s2d0 [Occ=Once!] :: CompanyDatatypes.Employee) -> + case w_s2cW of _ { GHC.Types.I# ww_s2cY [Occ=Once] -> + case w3_s2d0 + of _ + { CompanyDatatypes.E ww1_s2d2 [Occ=Once] ww2_s2d3 [Occ=Once] -> + CompanyDatatypes.$w$cshowsPrec2 ww_s2cY ww1_s2d2 ww2_s2d3 + } + }}] +CompanyDatatypes.$fShowEmployee_$cshowsPrec = + \ (w_s2cW :: GHC.Types.Int) + (w3_s2d0 :: CompanyDatatypes.Employee) -> + case w_s2cW of _ { GHC.Types.I# ww_s2cY -> + case w3_s2d0 of _ { CompanyDatatypes.E ww1_s2d2 ww2_s2d3 -> + CompanyDatatypes.$w$cshowsPrec2 ww_s2cY ww1_s2d2 ww2_s2d3 + } + } + +CompanyDatatypes.$fShowEmployee1 + :: CompanyDatatypes.Employee -> GHC.Show.ShowS +[GblId, + Arity=1, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20] 50 0}] +CompanyDatatypes.$fShowEmployee1 = + \ (w_s2d0 :: CompanyDatatypes.Employee) -> + case w_s2d0 of _ { CompanyDatatypes.E ww_s2d2 ww1_s2d3 -> + CompanyDatatypes.$w$cshowsPrec2 0 ww_s2d2 ww1_s2d3 + } + +CompanyDatatypes.$fShowEmployee_$cshowList + :: [CompanyDatatypes.Employee] -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [] 20 60}] +CompanyDatatypes.$fShowEmployee_$cshowList = + GHC.Show.showList__ + @ CompanyDatatypes.Employee CompanyDatatypes.$fShowEmployee1 + +CompanyDatatypes.$fShowEmployee_$cshow + :: CompanyDatatypes.Employee -> GHC.Base.String +[GblId, + Arity=1, + Str=DmdType U(LL), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (x_a1dj [Occ=Once] :: CompanyDatatypes.Employee) -> + CompanyDatatypes.$fShowEmployee_$cshowsPrec + GHC.Show.shows26 x_a1dj (GHC.Types.[] @ GHC.Types.Char)}] +CompanyDatatypes.$fShowEmployee_$cshow = + \ (x_a1dj :: CompanyDatatypes.Employee) -> + case x_a1dj of _ { CompanyDatatypes.E ww_s2d2 ww1_s2d3 -> + CompanyDatatypes.$w$cshowsPrec2 + 0 ww_s2d2 ww1_s2d3 (GHC.Types.[] @ GHC.Types.Char) + } + +CompanyDatatypes.$fShowEmployee [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Show.Show CompanyDatatypes.Employee +[GblId[DFunId], + Str=DmdType m, + Unf=DFun(arity=0) GHC.Show.D:Show [{CompanyDatatypes.$fShowEmployee_$cshowsPrec}, + {CompanyDatatypes.$fShowEmployee_$cshow}, + {CompanyDatatypes.$fShowEmployee_$cshowList}]] +CompanyDatatypes.$fShowEmployee = + GHC.Show.D:Show + @ CompanyDatatypes.Employee + CompanyDatatypes.$fShowEmployee_$cshowsPrec + CompanyDatatypes.$fShowEmployee_$cshow + CompanyDatatypes.$fShowEmployee_$cshowList + +CompanyDatatypes.$fShowUnit1 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 40 0}] +CompanyDatatypes.$fShowUnit1 = GHC.CString.unpackCString# "DU " + +CompanyDatatypes.$fShowUnit2 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 40 0}] +CompanyDatatypes.$fShowUnit2 = GHC.CString.unpackCString# "PU " + +CompanyDatatypes.$fShowCompany3 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 40 0}] +CompanyDatatypes.$fShowCompany3 = GHC.CString.unpackCString# "D " + +Rec { +CompanyDatatypes.$w$cshowsPrec1 + :: GHC.Prim.Int# + -> CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> GHC.Show.ShowS +[GblId, + Arity=4, + Str=DmdType LLLL, + Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [0 0 20 0] 371 120}] +CompanyDatatypes.$w$cshowsPrec1 = + \ (ww_s2da :: GHC.Prim.Int#) + (ww1_s2de :: CompanyDatatypes.Name) + (ww2_s2df :: CompanyDatatypes.Manager) + (ww3_s2dg :: [CompanyDatatypes.Unit]) -> + let { + f_X1wk [Dmd=Just L] :: GHC.Base.String -> GHC.Base.String + [LclId, Str=DmdType] + f_X1wk = + case ww2_s2df of _ { CompanyDatatypes.E ww4_s2d2 ww5_s2d3 -> + CompanyDatatypes.$w$cshowsPrec2 11 ww4_s2d2 ww5_s2d3 + } } in + let { + g_a1cL :: GHC.Base.String -> GHC.Base.String + [LclId, Arity=1, Str=DmdType L] + g_a1cL = + \ (x_X1mG :: GHC.Base.String) -> + GHC.Types.: + @ GHC.Types.Char + GHC.Show.$fShowChar1 + (GHC.Show.showLitString + ww1_s2de + (GHC.Types.: + @ GHC.Types.Char + GHC.Show.$fShowChar1 + (GHC.Types.: + @ GHC.Types.Char + GHC.Show.showSpace1 + (f_X1wk + (GHC.Types.: + @ GHC.Types.Char + GHC.Show.showSpace1 + (GHC.Show.showList__ + @ CompanyDatatypes.Unit + CompanyDatatypes.$fShowCompany4 + ww3_s2dg + x_X1mG)))))) } in + case GHC.Prim.>=# ww_s2da 11 of _ { + GHC.Types.False -> + \ (x_X1mI :: GHC.Base.String) -> + GHC.Base.++ + @ GHC.Types.Char CompanyDatatypes.$fShowCompany3 (g_a1cL x_X1mI); + GHC.Types.True -> + \ (x_a1cp :: GHC.Base.String) -> + GHC.Types.: + @ GHC.Types.Char + GHC.Show.shows11 + (GHC.Base.++ + @ GHC.Types.Char + CompanyDatatypes.$fShowCompany3 + (g_a1cL (GHC.Types.: @ GHC.Types.Char GHC.Show.shows10 x_a1cp))) + } + +CompanyDatatypes.$w$cshowsPrec5 + :: GHC.Prim.Int# -> CompanyDatatypes.Unit -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType LS, + Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [0 251] 472 240}] +CompanyDatatypes.$w$cshowsPrec5 = + \ (ww_s2dn :: GHC.Prim.Int#) (w_s2dp :: CompanyDatatypes.Unit) -> + case w_s2dp of _ { + CompanyDatatypes.PU b1_aSL -> + let { + g_a1cL [Dmd=Just L] :: GHC.Base.String -> GHC.Base.String + [LclId, Str=DmdType] + g_a1cL = + case b1_aSL of _ { CompanyDatatypes.E ww1_s2d2 ww2_s2d3 -> + CompanyDatatypes.$w$cshowsPrec2 11 ww1_s2d2 ww2_s2d3 + } } in + case GHC.Prim.>=# ww_s2dn 11 of _ { + GHC.Types.False -> + \ (x_a1cM :: GHC.Base.String) -> + GHC.Base.++ + @ GHC.Types.Char CompanyDatatypes.$fShowUnit2 (g_a1cL x_a1cM); + GHC.Types.True -> + \ (x_a1cp :: GHC.Base.String) -> + GHC.Types.: + @ GHC.Types.Char + GHC.Show.shows11 + (GHC.Base.++ + @ GHC.Types.Char + CompanyDatatypes.$fShowUnit2 + (g_a1cL (GHC.Types.: @ GHC.Types.Char GHC.Show.shows10 x_a1cp))) + }; + CompanyDatatypes.DU b1_aSN -> + let { + g_a1cL [Dmd=Just L] :: GHC.Base.String -> GHC.Base.String + [LclId, Str=DmdType] + g_a1cL = + case b1_aSN of _ { CompanyDatatypes.D ww1_s2de ww2_s2df ww3_s2dg -> + CompanyDatatypes.$w$cshowsPrec1 11 ww1_s2de ww2_s2df ww3_s2dg + } } in + case GHC.Prim.>=# ww_s2dn 11 of _ { + GHC.Types.False -> + \ (x_a1cM :: GHC.Base.String) -> + GHC.Base.++ + @ GHC.Types.Char CompanyDatatypes.$fShowUnit1 (g_a1cL x_a1cM); + GHC.Types.True -> + \ (x_a1cp :: GHC.Base.String) -> + GHC.Types.: + @ GHC.Types.Char + GHC.Show.shows11 + (GHC.Base.++ + @ GHC.Types.Char + CompanyDatatypes.$fShowUnit1 + (g_a1cL (GHC.Types.: @ GHC.Types.Char GHC.Show.shows10 x_a1cp))) + } + } + +CompanyDatatypes.$fShowCompany4 [Occ=LoopBreaker] + :: CompanyDatatypes.Unit -> GHC.Show.ShowS +[GblId, Arity=1, Str=DmdType] +CompanyDatatypes.$fShowCompany4 = + \ (w_s2dp :: CompanyDatatypes.Unit) -> + CompanyDatatypes.$w$cshowsPrec5 0 w_s2dp +end Rec } + +CompanyDatatypes.$fShowDept_$cshowsPrec [InlPrag=INLINE[0]] + :: GHC.Types.Int -> CompanyDatatypes.Dept -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType U(L)U(LLL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cshowsPrec1, TopLvl=True, + Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (w_s2d8 [Occ=Once!] :: GHC.Types.Int) + (w3_s2dc [Occ=Once!] :: CompanyDatatypes.Dept) -> + case w_s2d8 of _ { GHC.Types.I# ww_s2da [Occ=Once] -> + case w3_s2dc + of _ + { CompanyDatatypes.D ww1_s2de [Occ=Once] + ww2_s2df [Occ=Once] + ww3_s2dg [Occ=Once] -> + CompanyDatatypes.$w$cshowsPrec1 ww_s2da ww1_s2de ww2_s2df ww3_s2dg + } + }}] +CompanyDatatypes.$fShowDept_$cshowsPrec = + \ (w_s2d8 :: GHC.Types.Int) (w3_s2dc :: CompanyDatatypes.Dept) -> + case w_s2d8 of _ { GHC.Types.I# ww_s2da -> + case w3_s2dc + of _ { CompanyDatatypes.D ww1_s2de ww2_s2df ww3_s2dg -> + CompanyDatatypes.$w$cshowsPrec1 ww_s2da ww1_s2de ww2_s2df ww3_s2dg + } + } + +CompanyDatatypes.$fShowUnit_$cshowsPrec [InlPrag=INLINE[0]] + :: GHC.Types.Int -> CompanyDatatypes.Unit -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType U(L)S, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cshowsPrec5, TopLvl=True, + Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (w_s2dl [Occ=Once!] :: GHC.Types.Int) + (w3_s2dp [Occ=Once] :: CompanyDatatypes.Unit) -> + case w_s2dl of _ { GHC.Types.I# ww_s2dn [Occ=Once] -> + CompanyDatatypes.$w$cshowsPrec5 ww_s2dn w3_s2dp + }}] +CompanyDatatypes.$fShowUnit_$cshowsPrec = + \ (w_s2dl :: GHC.Types.Int) (w3_s2dp :: CompanyDatatypes.Unit) -> + case w_s2dl of _ { GHC.Types.I# ww_s2dn -> + CompanyDatatypes.$w$cshowsPrec5 ww_s2dn w3_s2dp + } + +CompanyDatatypes.$fShowUnit_$cshow + :: CompanyDatatypes.Unit -> GHC.Base.String +[GblId, + Arity=1, + Str=DmdType S, + Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [0] 40 0}] +CompanyDatatypes.$fShowUnit_$cshow = + \ (x_a1dj :: CompanyDatatypes.Unit) -> + CompanyDatatypes.$w$cshowsPrec5 + 0 x_a1dj (GHC.Types.[] @ GHC.Types.Char) + +CompanyDatatypes.$fShowUnit_$cshowList + :: [CompanyDatatypes.Unit] -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [] 20 60}] +CompanyDatatypes.$fShowUnit_$cshowList = + GHC.Show.showList__ + @ CompanyDatatypes.Unit CompanyDatatypes.$fShowCompany4 + +CompanyDatatypes.$fShowUnit [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Show.Show CompanyDatatypes.Unit +[GblId[DFunId], + Str=DmdType m, + Unf=DFun(arity=0) GHC.Show.D:Show [{CompanyDatatypes.$fShowUnit_$cshowsPrec}, + {CompanyDatatypes.$fShowUnit_$cshow}, + {CompanyDatatypes.$fShowUnit_$cshowList}]] +CompanyDatatypes.$fShowUnit = + GHC.Show.D:Show + @ CompanyDatatypes.Unit + CompanyDatatypes.$fShowUnit_$cshowsPrec + CompanyDatatypes.$fShowUnit_$cshow + CompanyDatatypes.$fShowUnit_$cshowList + +CompanyDatatypes.$fShowCompany2 + :: CompanyDatatypes.Dept -> GHC.Show.ShowS +[GblId, + Arity=1, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20] 60 0}] +CompanyDatatypes.$fShowCompany2 = + \ (w_s2dc :: CompanyDatatypes.Dept) -> + case w_s2dc of _ { CompanyDatatypes.D ww_s2de ww1_s2df ww2_s2dg -> + CompanyDatatypes.$w$cshowsPrec1 0 ww_s2de ww1_s2df ww2_s2dg + } + +CompanyDatatypes.$fShowDept_$cshowList + :: [CompanyDatatypes.Dept] -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [] 20 60}] +CompanyDatatypes.$fShowDept_$cshowList = + GHC.Show.showList__ + @ CompanyDatatypes.Dept CompanyDatatypes.$fShowCompany2 + +CompanyDatatypes.$fShowDept_$cshow + :: CompanyDatatypes.Dept -> GHC.Base.String +[GblId, + Arity=1, + Str=DmdType U(LLL), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (x_a1dj [Occ=Once] :: CompanyDatatypes.Dept) -> + CompanyDatatypes.$fShowDept_$cshowsPrec + GHC.Show.shows26 x_a1dj (GHC.Types.[] @ GHC.Types.Char)}] +CompanyDatatypes.$fShowDept_$cshow = + \ (x_a1dj :: CompanyDatatypes.Dept) -> + case x_a1dj of _ { CompanyDatatypes.D ww_s2de ww1_s2df ww2_s2dg -> + CompanyDatatypes.$w$cshowsPrec1 + 0 ww_s2de ww1_s2df ww2_s2dg (GHC.Types.[] @ GHC.Types.Char) + } + +CompanyDatatypes.$fShowDept [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Show.Show CompanyDatatypes.Dept +[GblId[DFunId], + Str=DmdType m, + Unf=DFun(arity=0) GHC.Show.D:Show [{CompanyDatatypes.$fShowDept_$cshowsPrec}, + {CompanyDatatypes.$fShowDept_$cshow}, + {CompanyDatatypes.$fShowDept_$cshowList}]] +CompanyDatatypes.$fShowDept = + GHC.Show.D:Show + @ CompanyDatatypes.Dept + CompanyDatatypes.$fShowDept_$cshowsPrec + CompanyDatatypes.$fShowDept_$cshow + CompanyDatatypes.$fShowDept_$cshowList + +CompanyDatatypes.$fShowCompany9 :: [GHC.Types.Char] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 40 0}] +CompanyDatatypes.$fShowCompany9 = GHC.CString.unpackCString# "C " + +CompanyDatatypes.$w$cshowsPrec + :: GHC.Prim.Int# + -> [CompanyDatatypes.Dept] -> GHC.Base.String -> GHC.Base.String +[GblId, + Arity=3, + Str=DmdType LLL, + Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [0 0 0] 181 30}] +CompanyDatatypes.$w$cshowsPrec = + \ (ww_s2dw :: GHC.Prim.Int#) + (ww1_s2dA :: [CompanyDatatypes.Dept]) + (w_s2dC :: GHC.Base.String) -> + case GHC.Prim.>=# ww_s2dw 11 of _ { + GHC.Types.False -> + GHC.Base.++ + @ GHC.Types.Char + CompanyDatatypes.$fShowCompany9 + (GHC.Show.showList__ + @ CompanyDatatypes.Dept + CompanyDatatypes.$fShowCompany2 + ww1_s2dA + w_s2dC); + GHC.Types.True -> + GHC.Types.: + @ GHC.Types.Char + GHC.Show.shows11 + (GHC.Base.++ + @ GHC.Types.Char + CompanyDatatypes.$fShowCompany9 + (GHC.Show.showList__ + @ CompanyDatatypes.Dept + CompanyDatatypes.$fShowCompany2 + ww1_s2dA + (GHC.Types.: @ GHC.Types.Char GHC.Show.shows10 w_s2dC))) + } + +CompanyDatatypes.$fShowCompany_$cshowsPrec [InlPrag=INLINE[0]] + :: GHC.Types.Int -> CompanyDatatypes.Company -> GHC.Show.ShowS +[GblId, + Arity=3, + Str=DmdType U(L)U(L)L, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cshowsPrec, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (w_s2du [Occ=Once!] :: GHC.Types.Int) + (w3_s2dy [Occ=Once!] :: CompanyDatatypes.Company) + (w4_s2dC [Occ=Once] :: GHC.Base.String) -> + case w_s2du of _ { GHC.Types.I# ww_s2dw [Occ=Once] -> + case w3_s2dy of _ { CompanyDatatypes.C ww1_s2dA [Occ=Once] -> + CompanyDatatypes.$w$cshowsPrec ww_s2dw ww1_s2dA w4_s2dC + } + }}] +CompanyDatatypes.$fShowCompany_$cshowsPrec = + \ (w_s2du :: GHC.Types.Int) + (w3_s2dy :: CompanyDatatypes.Company) + (w4_s2dC :: GHC.Base.String) -> + case w_s2du of _ { GHC.Types.I# ww_s2dw -> + case w3_s2dy of _ { CompanyDatatypes.C ww1_s2dA -> + CompanyDatatypes.$w$cshowsPrec ww_s2dw ww1_s2dA w4_s2dC + } + } + +CompanyDatatypes.$fShowCompany1 + :: CompanyDatatypes.Company -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20 0] 50 0}] +CompanyDatatypes.$fShowCompany1 = + \ (w_s2dy :: CompanyDatatypes.Company) + (w3_s2dC :: GHC.Base.String) -> + case w_s2dy of _ { CompanyDatatypes.C ww_s2dA -> + CompanyDatatypes.$w$cshowsPrec 0 ww_s2dA w3_s2dC + } + +CompanyDatatypes.$fShowCompany_$cshowList + :: [CompanyDatatypes.Company] -> GHC.Show.ShowS +[GblId, + Arity=2, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [] 20 60}] +CompanyDatatypes.$fShowCompany_$cshowList = + GHC.Show.showList__ + @ CompanyDatatypes.Company CompanyDatatypes.$fShowCompany1 + +CompanyDatatypes.$fShowCompany_$cshow + :: CompanyDatatypes.Company -> GHC.Base.String +[GblId, + Arity=1, + Str=DmdType U(L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (x_a1dj [Occ=Once] :: CompanyDatatypes.Company) -> + CompanyDatatypes.$fShowCompany_$cshowsPrec + GHC.Show.shows26 x_a1dj (GHC.Types.[] @ GHC.Types.Char)}] +CompanyDatatypes.$fShowCompany_$cshow = + \ (x_a1dj :: CompanyDatatypes.Company) -> + case x_a1dj of _ { CompanyDatatypes.C ww_s2dA -> + CompanyDatatypes.$w$cshowsPrec + 0 ww_s2dA (GHC.Types.[] @ GHC.Types.Char) + } + +CompanyDatatypes.$fShowCompany [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Show.Show CompanyDatatypes.Company +[GblId[DFunId], + Str=DmdType m, + Unf=DFun(arity=0) GHC.Show.D:Show [{CompanyDatatypes.$fShowCompany_$cshowsPrec}, + {CompanyDatatypes.$fShowCompany_$cshow}, + {CompanyDatatypes.$fShowCompany_$cshowList}]] +CompanyDatatypes.$fShowCompany = + GHC.Show.D:Show + @ CompanyDatatypes.Company + CompanyDatatypes.$fShowCompany_$cshowsPrec + CompanyDatatypes.$fShowCompany_$cshow + CompanyDatatypes.$fShowCompany_$cshowList + +CompanyDatatypes.$fEqEmployee_$c==1 + :: CompanyDatatypes.Salary + -> CompanyDatatypes.Salary -> GHC.Types.Bool +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType U(U(L))U(U(L)), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (ds_d14N [Occ=Once!] :: CompanyDatatypes.Salary) + (ds1_d14O [Occ=Once!] :: CompanyDatatypes.Salary) -> + case ds_d14N of _ { CompanyDatatypes.S a22_aRZ [Occ=Once] -> + case ds1_d14O of _ { CompanyDatatypes.S b1_aS0 [Occ=Once] -> + GHC.Classes.$fEqFloat_$c== a22_aRZ b1_aS0 + } + }}] +CompanyDatatypes.$fEqEmployee_$c==1 = + \ (ds_d14N :: CompanyDatatypes.Salary) + (ds1_d14O :: CompanyDatatypes.Salary) -> + case ds_d14N of _ { CompanyDatatypes.S a22_aRZ -> + case ds1_d14O of _ { CompanyDatatypes.S b1_aS0 -> + GHC.Classes.$fEqFloat_$c== a22_aRZ b1_aS0 + } + } + +CompanyDatatypes.$fEqSalary_$c/= + :: CompanyDatatypes.Salary + -> CompanyDatatypes.Salary -> GHC.Types.Bool +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType U(U(L))U(U(L)), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (a22_aS1 [Occ=Once!] :: CompanyDatatypes.Salary) + (b_aS2 [Occ=Once!] :: CompanyDatatypes.Salary) -> + case a22_aS1 of _ { CompanyDatatypes.S a23_aRZ [Occ=Once!] -> + case b_aS2 of _ { CompanyDatatypes.S b1_aS0 [Occ=Once!] -> + case a23_aRZ of _ { GHC.Types.F# x_a1dT [Occ=Once] -> + case b1_aS0 of _ { GHC.Types.F# y_a1dX [Occ=Once] -> + case GHC.Prim.eqFloat# x_a1dT y_a1dX of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> GHC.Types.False + } + } + } + } + }}] +CompanyDatatypes.$fEqSalary_$c/= = + \ (a22_aS1 :: CompanyDatatypes.Salary) + (b_aS2 :: CompanyDatatypes.Salary) -> + case a22_aS1 of _ { CompanyDatatypes.S a23_aRZ -> + case b_aS2 of _ { CompanyDatatypes.S b1_aS0 -> + case a23_aRZ of _ { GHC.Types.F# x_a1dT -> + case b1_aS0 of _ { GHC.Types.F# y_a1dX -> + case GHC.Prim.eqFloat# x_a1dT y_a1dX of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> GHC.Types.False + } + } + } + } + } + +CompanyDatatypes.$fEqSalary [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Classes.Eq CompanyDatatypes.Salary +[GblId[DFunId], + Caf=NoCafRefs, + Str=DmdType m, + Unf=DFun(arity=0) GHC.Classes.D:Eq [{CompanyDatatypes.$fEqEmployee_$c==1}, + {CompanyDatatypes.$fEqSalary_$c/=}]] +CompanyDatatypes.$fEqSalary = + GHC.Classes.D:Eq + @ CompanyDatatypes.Salary + CompanyDatatypes.$fEqEmployee_$c==1 + CompanyDatatypes.$fEqSalary_$c/= + +CompanyDatatypes.$w$c==1 + :: CompanyDatatypes.Name + -> CompanyDatatypes.Address + -> CompanyDatatypes.Salary + -> CompanyDatatypes.Name + -> CompanyDatatypes.Address + -> CompanyDatatypes.Salary + -> GHC.Types.Bool +[GblId, + Arity=6, + Caf=NoCafRefs, + Str=DmdType SLLSLL, + Unf=Unf{Src=, TopLvl=True, Arity=6, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [0 0 0 0 0 0] 130 20}] +CompanyDatatypes.$w$c==1 = + \ (ww_s2dK :: CompanyDatatypes.Name) + (ww1_s2dL :: CompanyDatatypes.Address) + (ww2_s2dN :: CompanyDatatypes.Salary) + (ww3_s2dT :: CompanyDatatypes.Name) + (ww4_s2dU :: CompanyDatatypes.Address) + (ww5_s2dW :: CompanyDatatypes.Salary) -> + case GHC.Base.eqString ww_s2dK ww3_s2dT of _ { + GHC.Types.False -> GHC.Types.False; + GHC.Types.True -> + case GHC.Base.eqString ww1_s2dL ww4_s2dU of _ { + GHC.Types.False -> GHC.Types.False; + GHC.Types.True -> + CompanyDatatypes.$fEqEmployee_$c==1 ww2_s2dN ww5_s2dW + } + } + +CompanyDatatypes.$fEqEmployee_$c== [InlPrag=INLINE[0]] + :: CompanyDatatypes.Employee + -> CompanyDatatypes.Employee -> GHC.Types.Bool +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType U(U(SL)L)U(U(SL)L), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$c==1, TopLvl=True, Arity=2, + Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (w_s2dG [Occ=Once!] :: CompanyDatatypes.Employee) + (w3_s2dP [Occ=Once!] :: CompanyDatatypes.Employee) -> + case w_s2dG + of _ + { CompanyDatatypes.E ww_s2dI [Occ=Once!] ww1_s2dN [Occ=Once] -> + case ww_s2dI + of _ + { CompanyDatatypes.P ww3_s2dK [Occ=Once] ww4_s2dL [Occ=Once] -> + case w3_s2dP + of _ + { CompanyDatatypes.E ww5_s2dR [Occ=Once!] ww6_s2dW [Occ=Once] -> + case ww5_s2dR + of _ + { CompanyDatatypes.P ww8_s2dT [Occ=Once] ww9_s2dU [Occ=Once] -> + CompanyDatatypes.$w$c==1 + ww3_s2dK ww4_s2dL ww1_s2dN ww8_s2dT ww9_s2dU ww6_s2dW + } + } + } + }}] +CompanyDatatypes.$fEqEmployee_$c== = + \ (w_s2dG :: CompanyDatatypes.Employee) + (w3_s2dP :: CompanyDatatypes.Employee) -> + case w_s2dG of _ { CompanyDatatypes.E ww_s2dI ww1_s2dN -> + case ww_s2dI of _ { CompanyDatatypes.P ww3_s2dK ww4_s2dL -> + case w3_s2dP of _ { CompanyDatatypes.E ww5_s2dR ww6_s2dW -> + case ww5_s2dR of _ { CompanyDatatypes.P ww8_s2dT ww9_s2dU -> + CompanyDatatypes.$w$c==1 + ww3_s2dK ww4_s2dL ww1_s2dN ww8_s2dT ww9_s2dU ww6_s2dW + } + } + } + } + +CompanyDatatypes.$fEqEmployee_$c/= + :: CompanyDatatypes.Employee + -> CompanyDatatypes.Employee -> GHC.Types.Bool +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType U(U(SL)L)U(U(SL)L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (a22_aSt [Occ=Once] :: CompanyDatatypes.Employee) + (b_aSu [Occ=Once] :: CompanyDatatypes.Employee) -> + case CompanyDatatypes.$fEqEmployee_$c== a22_aSt b_aSu of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> GHC.Types.False + }}] +CompanyDatatypes.$fEqEmployee_$c/= = + \ (a22_aSt :: CompanyDatatypes.Employee) + (b_aSu :: CompanyDatatypes.Employee) -> + case a22_aSt of _ { CompanyDatatypes.E ww_s2dI ww1_s2dN -> + case ww_s2dI of _ { CompanyDatatypes.P ww3_s2dK ww4_s2dL -> + case b_aSu of _ { CompanyDatatypes.E ww5_s2dR ww6_s2dW -> + case ww5_s2dR of _ { CompanyDatatypes.P ww8_s2dT ww9_s2dU -> + case GHC.Base.eqString ww3_s2dK ww8_s2dT of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> + case GHC.Base.eqString ww4_s2dL ww9_s2dU of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> + case ww1_s2dN of _ { CompanyDatatypes.S a23_aRZ -> + case ww6_s2dW of _ { CompanyDatatypes.S b1_aS0 -> + case a23_aRZ of _ { GHC.Types.F# x_a1dT -> + case b1_aS0 of _ { GHC.Types.F# y_a1dX -> + case GHC.Prim.eqFloat# x_a1dT y_a1dX of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> GHC.Types.False + } + } + } + } + } + } + } + } + } + } + } + +CompanyDatatypes.$fEqEmployee [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Classes.Eq CompanyDatatypes.Employee +[GblId[DFunId], + Caf=NoCafRefs, + Str=DmdType m, + Unf=DFun(arity=0) GHC.Classes.D:Eq [{CompanyDatatypes.$fEqEmployee_$c==}, + {CompanyDatatypes.$fEqEmployee_$c/=}]] +CompanyDatatypes.$fEqEmployee = + GHC.Classes.D:Eq + @ CompanyDatatypes.Employee + CompanyDatatypes.$fEqEmployee_$c== + CompanyDatatypes.$fEqEmployee_$c/= + +Rec { +CompanyDatatypes.$fEqUnit [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Classes.Eq CompanyDatatypes.Unit +[GblId[DFunId], + Caf=NoCafRefs, + Str=DmdType m, + Unf=DFun(arity=0) GHC.Classes.D:Eq [{CompanyDatatypes.$fEqUnit_$c==}, + {CompanyDatatypes.$fEqUnit_$c/=}]] +CompanyDatatypes.$fEqUnit = + GHC.Classes.D:Eq + @ CompanyDatatypes.Unit + CompanyDatatypes.$fEqUnit_$c== + CompanyDatatypes.$fEqUnit_$c/= + +CompanyDatatypes.$w$c== + :: CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> GHC.Types.Bool +[GblId, + Arity=6, + Caf=NoCafRefs, + Str=DmdType SLLSLL, + Unf=Unf{Src=, TopLvl=True, Arity=6, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [0 20 0 0 20 0] 291 40}] +CompanyDatatypes.$w$c== = + \ (ww_s2e3 :: CompanyDatatypes.Name) + (ww1_s2e4 :: CompanyDatatypes.Manager) + (ww2_s2e5 :: [CompanyDatatypes.Unit]) + (ww3_s2e9 :: CompanyDatatypes.Name) + (ww4_s2ea :: CompanyDatatypes.Manager) + (ww5_s2eb :: [CompanyDatatypes.Unit]) -> + case GHC.Base.eqString ww_s2e3 ww3_s2e9 of _ { + GHC.Types.False -> GHC.Types.False; + GHC.Types.True -> + case ww1_s2e4 of _ { CompanyDatatypes.E ww6_s2dI ww7_s2dN -> + case ww6_s2dI of _ { CompanyDatatypes.P ww9_s2dK ww10_s2dL -> + case ww4_s2ea of _ { CompanyDatatypes.E ww11_s2dR ww12_s2dW -> + case ww11_s2dR of _ { CompanyDatatypes.P ww14_s2dT ww15_s2dU -> + case GHC.Base.eqString ww9_s2dK ww14_s2dT of _ { + GHC.Types.False -> GHC.Types.False; + GHC.Types.True -> + case GHC.Base.eqString ww10_s2dL ww15_s2dU of _ { + GHC.Types.False -> GHC.Types.False; + GHC.Types.True -> + case ww7_s2dN of _ { CompanyDatatypes.S a22_aRZ -> + case ww12_s2dW of _ { CompanyDatatypes.S b1_aS0 -> + case a22_aRZ of _ { GHC.Types.F# x_a1dT -> + case b1_aS0 of _ { GHC.Types.F# y_a1dX -> + case GHC.Prim.eqFloat# x_a1dT y_a1dX of _ { + GHC.Types.False -> GHC.Types.False; + GHC.Types.True -> + GHC.Classes.$fEq[]_$c== + @ CompanyDatatypes.Unit CompanyDatatypes.$fEqUnit ww2_s2e5 ww5_s2eb + } + } + } + } + } + } + } + } + } + } + } + } + +CompanyDatatypes.$fEqUnit_$c/= [Occ=LoopBreaker] + :: CompanyDatatypes.Unit -> CompanyDatatypes.Unit -> GHC.Types.Bool +[GblId, Arity=2, Caf=NoCafRefs, Str=DmdType SS] +CompanyDatatypes.$fEqUnit_$c/= = + \ (a22_aSI :: CompanyDatatypes.Unit) + (b_aSJ :: CompanyDatatypes.Unit) -> + case a22_aSI of _ { + CompanyDatatypes.PU a23_aSE -> + case b_aSJ of _ { + CompanyDatatypes.PU b1_aSF -> + case a23_aSE of _ { CompanyDatatypes.E ww_s2dI ww1_s2dN -> + case ww_s2dI of _ { CompanyDatatypes.P ww3_s2dK ww4_s2dL -> + case b1_aSF of _ { CompanyDatatypes.E ww5_s2dR ww6_s2dW -> + case ww5_s2dR of _ { CompanyDatatypes.P ww8_s2dT ww9_s2dU -> + case GHC.Base.eqString ww3_s2dK ww8_s2dT of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> + case GHC.Base.eqString ww4_s2dL ww9_s2dU of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> + case ww1_s2dN of _ { CompanyDatatypes.S a24_aRZ -> + case ww6_s2dW of _ { CompanyDatatypes.S b2_aS0 -> + case a24_aRZ of _ { GHC.Types.F# x_a1dT -> + case b2_aS0 of _ { GHC.Types.F# y_a1dX -> + case GHC.Prim.eqFloat# x_a1dT y_a1dX of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> GHC.Types.False + } + } + } + } + } + } + } + } + } + } + }; + CompanyDatatypes.DU ipv_s1e5 -> GHC.Types.True + }; + CompanyDatatypes.DU a23_aSG -> + case b_aSJ of _ { + CompanyDatatypes.PU ipv_s1e8 -> GHC.Types.True; + CompanyDatatypes.DU b1_aSH -> + case a23_aSG of _ { CompanyDatatypes.D ww_s2e3 ww1_s2e4 ww2_s2e5 -> + case b1_aSH of _ { CompanyDatatypes.D ww3_s2e9 ww4_s2ea ww5_s2eb -> + case CompanyDatatypes.$w$c== + ww_s2e3 ww1_s2e4 ww2_s2e5 ww3_s2e9 ww4_s2ea ww5_s2eb + of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> GHC.Types.False + } + } + } + } + } + +CompanyDatatypes.$fEqDept_$c== [InlPrag=INLINE[0]] + :: CompanyDatatypes.Dept -> CompanyDatatypes.Dept -> GHC.Types.Bool +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType U(SLL)U(SLL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$c==, TopLvl=True, Arity=2, + Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (w_s2e1 [Occ=Once!] :: CompanyDatatypes.Dept) + (w3_s2e7 [Occ=Once!] :: CompanyDatatypes.Dept) -> + case w_s2e1 + of _ + { CompanyDatatypes.D ww_s2e3 [Occ=Once] + ww1_s2e4 [Occ=Once] + ww2_s2e5 [Occ=Once] -> + case w3_s2e7 + of _ + { CompanyDatatypes.D ww3_s2e9 [Occ=Once] + ww4_s2ea [Occ=Once] + ww5_s2eb [Occ=Once] -> + CompanyDatatypes.$w$c== + ww_s2e3 ww1_s2e4 ww2_s2e5 ww3_s2e9 ww4_s2ea ww5_s2eb + } + }}] +CompanyDatatypes.$fEqDept_$c== = + \ (w_s2e1 :: CompanyDatatypes.Dept) + (w3_s2e7 :: CompanyDatatypes.Dept) -> + case w_s2e1 of _ { CompanyDatatypes.D ww_s2e3 ww1_s2e4 ww2_s2e5 -> + case w3_s2e7 + of _ { CompanyDatatypes.D ww3_s2e9 ww4_s2ea ww5_s2eb -> + CompanyDatatypes.$w$c== + ww_s2e3 ww1_s2e4 ww2_s2e5 ww3_s2e9 ww4_s2ea ww5_s2eb + } + } + +CompanyDatatypes.$fEqUnit_$c== [Occ=LoopBreaker] + :: CompanyDatatypes.Unit -> CompanyDatatypes.Unit -> GHC.Types.Bool +[GblId, Arity=2, Caf=NoCafRefs, Str=DmdType SS] +CompanyDatatypes.$fEqUnit_$c== = + \ (ds_d15s :: CompanyDatatypes.Unit) + (ds1_d15t :: CompanyDatatypes.Unit) -> + case ds_d15s of _ { + CompanyDatatypes.PU a22_aSE -> + case ds1_d15t of _ { + CompanyDatatypes.PU b1_aSF -> + CompanyDatatypes.$fEqEmployee_$c== a22_aSE b1_aSF; + CompanyDatatypes.DU ipv_s1e5 -> GHC.Types.False + }; + CompanyDatatypes.DU a22_aSG -> + case ds1_d15t of _ { + CompanyDatatypes.PU ipv_s1e8 -> GHC.Types.False; + CompanyDatatypes.DU b1_aSH -> + CompanyDatatypes.$fEqDept_$c== a22_aSG b1_aSH + } + } +end Rec } + +CompanyDatatypes.$fEqDept_$c/= + :: CompanyDatatypes.Dept -> CompanyDatatypes.Dept -> GHC.Types.Bool +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType U(SLL)U(SLL), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (a22_aT3 [Occ=Once] :: CompanyDatatypes.Dept) + (b_aT4 [Occ=Once] :: CompanyDatatypes.Dept) -> + case CompanyDatatypes.$fEqDept_$c== a22_aT3 b_aT4 of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> GHC.Types.False + }}] +CompanyDatatypes.$fEqDept_$c/= = + \ (a22_aT3 :: CompanyDatatypes.Dept) + (b_aT4 :: CompanyDatatypes.Dept) -> + case a22_aT3 of _ { CompanyDatatypes.D ww_s2e3 ww1_s2e4 ww2_s2e5 -> + case b_aT4 of _ { CompanyDatatypes.D ww3_s2e9 ww4_s2ea ww5_s2eb -> + case CompanyDatatypes.$w$c== + ww_s2e3 ww1_s2e4 ww2_s2e5 ww3_s2e9 ww4_s2ea ww5_s2eb + of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> GHC.Types.False + } + } + } + +CompanyDatatypes.$fEqDept [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Classes.Eq CompanyDatatypes.Dept +[GblId[DFunId], + Caf=NoCafRefs, + Str=DmdType m, + Unf=DFun(arity=0) GHC.Classes.D:Eq [{CompanyDatatypes.$fEqDept_$c==}, + {CompanyDatatypes.$fEqDept_$c/=}]] +CompanyDatatypes.$fEqDept = + GHC.Classes.D:Eq + @ CompanyDatatypes.Dept + CompanyDatatypes.$fEqDept_$c== + CompanyDatatypes.$fEqDept_$c/= + +CompanyDatatypes.$fEqCompany_$c== + :: CompanyDatatypes.Company + -> CompanyDatatypes.Company -> GHC.Types.Bool +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType U(S)U(S), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (ds_d166 [Occ=Once!] :: CompanyDatatypes.Company) + (ds1_d167 [Occ=Once!] :: CompanyDatatypes.Company) -> + case ds_d166 of _ { CompanyDatatypes.C a22_aTg [Occ=Once] -> + case ds1_d167 of _ { CompanyDatatypes.C b1_aTh [Occ=Once] -> + GHC.Classes.$fEq[]_$c== + @ CompanyDatatypes.Dept CompanyDatatypes.$fEqDept a22_aTg b1_aTh + } + }}] +CompanyDatatypes.$fEqCompany_$c== = + \ (ds_d166 :: CompanyDatatypes.Company) + (ds1_d167 :: CompanyDatatypes.Company) -> + case ds_d166 of _ { CompanyDatatypes.C a22_aTg -> + case ds1_d167 of _ { CompanyDatatypes.C b1_aTh -> + GHC.Classes.$fEq[]_$c== + @ CompanyDatatypes.Dept CompanyDatatypes.$fEqDept a22_aTg b1_aTh + } + } + +CompanyDatatypes.$fEqCompany_$c/= + :: CompanyDatatypes.Company + -> CompanyDatatypes.Company -> GHC.Types.Bool +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType U(S)U(S), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (a22_aTi [Occ=Once!] :: CompanyDatatypes.Company) + (b_aTj [Occ=Once!] :: CompanyDatatypes.Company) -> + case a22_aTi of _ { CompanyDatatypes.C a23_aTg [Occ=Once] -> + case b_aTj of _ { CompanyDatatypes.C b1_aTh [Occ=Once] -> + case GHC.Classes.$fEq[]_$c== + @ CompanyDatatypes.Dept CompanyDatatypes.$fEqDept a23_aTg b1_aTh + of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> GHC.Types.False + } + } + }}] +CompanyDatatypes.$fEqCompany_$c/= = + \ (a22_aTi :: CompanyDatatypes.Company) + (b_aTj :: CompanyDatatypes.Company) -> + case a22_aTi of _ { CompanyDatatypes.C a23_aTg -> + case b_aTj of _ { CompanyDatatypes.C b1_aTh -> + case GHC.Classes.$fEq[]_$c== + @ CompanyDatatypes.Dept CompanyDatatypes.$fEqDept a23_aTg b1_aTh + of _ { + GHC.Types.False -> GHC.Types.True; + GHC.Types.True -> GHC.Types.False + } + } + } + +CompanyDatatypes.$fEqCompany [InlPrag=[ALWAYS] CONLIKE] + :: GHC.Classes.Eq CompanyDatatypes.Company +[GblId[DFunId], + Caf=NoCafRefs, + Str=DmdType m, + Unf=DFun(arity=0) GHC.Classes.D:Eq [{CompanyDatatypes.$fEqCompany_$c==}, + {CompanyDatatypes.$fEqCompany_$c/=}]] +CompanyDatatypes.$fEqCompany = + GHC.Classes.D:Eq + @ CompanyDatatypes.Company + CompanyDatatypes.$fEqCompany_$c== + CompanyDatatypes.$fEqCompany_$c/= + +CompanyDatatypes.$fTypeableUnit_ds :: GHC.Base.String +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 40 0}] +CompanyDatatypes.$fTypeableUnit_ds = + GHC.CString.unpackCString# "main" + +CompanyDatatypes.$fTypeableUnit_ds1 :: GHC.Base.String +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 70 0}] +CompanyDatatypes.$fTypeableUnit_ds1 = + GHC.CString.unpackCString# "CompanyDatatypes" + +CompanyDatatypes.$fTypeableCompany_ds2 :: GHC.Base.String +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.$fTypeableCompany_ds2 = + GHC.CString.unpackCString# "Company" + +CompanyDatatypes.$fTypeableCompany_wild + :: Data.Typeable.Internal.TyCon +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 60}] +CompanyDatatypes.$fTypeableCompany_wild = + Data.Typeable.Internal.TyCon + (__word64 2504153764752067400) + (__word64 10373911117495283324) + CompanyDatatypes.$fTypeableUnit_ds + CompanyDatatypes.$fTypeableUnit_ds1 + CompanyDatatypes.$fTypeableCompany_ds2 + +CompanyDatatypes.$fTypeableCompany1 + :: Data.Typeable.Internal.TypeRep +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 50}] +CompanyDatatypes.$fTypeableCompany1 = + Data.Typeable.Internal.TypeRep + (__word64 2504153764752067400) + (__word64 10373911117495283324) + CompanyDatatypes.$fTypeableCompany_wild + (GHC.Types.[] @ Data.Typeable.Internal.TypeRep) + +CompanyDatatypes.$fTypeableCompany_$ctypeOf + :: CompanyDatatypes.Company -> Data.Typeable.Internal.TypeRep +[GblId, + Arity=1, + Str=DmdType Am, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ _ -> CompanyDatatypes.$fTypeableCompany1}] +CompanyDatatypes.$fTypeableCompany_$ctypeOf = + \ _ -> CompanyDatatypes.$fTypeableCompany1 + +CompanyDatatypes.$fTypeableCompany [InlPrag=INLINE (sat-args=0)] + :: Data.Typeable.Internal.Typeable CompanyDatatypes.Company +[GblId[DFunId(nt)], + Str=DmdType, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) + Tmpl= CompanyDatatypes.$fTypeableCompany_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Company -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Company)}] +CompanyDatatypes.$fTypeableCompany = + CompanyDatatypes.$fTypeableCompany_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Company -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Company) + +CompanyDatatypes.$fTypeableDept_ds2 :: GHC.Base.String +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 40 0}] +CompanyDatatypes.$fTypeableDept_ds2 = + GHC.CString.unpackCString# "Dept" + +CompanyDatatypes.$fTypeableDept_wild + :: Data.Typeable.Internal.TyCon +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 60}] +CompanyDatatypes.$fTypeableDept_wild = + Data.Typeable.Internal.TyCon + (__word64 5193093341809168841) + (__word64 7344728000398417852) + CompanyDatatypes.$fTypeableUnit_ds + CompanyDatatypes.$fTypeableUnit_ds1 + CompanyDatatypes.$fTypeableDept_ds2 + +CompanyDatatypes.$fTypeableDept1 :: Data.Typeable.Internal.TypeRep +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 50}] +CompanyDatatypes.$fTypeableDept1 = + Data.Typeable.Internal.TypeRep + (__word64 5193093341809168841) + (__word64 7344728000398417852) + CompanyDatatypes.$fTypeableDept_wild + (GHC.Types.[] @ Data.Typeable.Internal.TypeRep) + +CompanyDatatypes.$fTypeableDept_$ctypeOf + :: CompanyDatatypes.Dept -> Data.Typeable.Internal.TypeRep +[GblId, + Arity=1, + Str=DmdType Am, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ _ -> CompanyDatatypes.$fTypeableDept1}] +CompanyDatatypes.$fTypeableDept_$ctypeOf = + \ _ -> CompanyDatatypes.$fTypeableDept1 + +CompanyDatatypes.$fTypeableDept [InlPrag=INLINE (sat-args=0)] + :: Data.Typeable.Internal.Typeable CompanyDatatypes.Dept +[GblId[DFunId(nt)], + Str=DmdType, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) + Tmpl= CompanyDatatypes.$fTypeableDept_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Dept -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Dept)}] +CompanyDatatypes.$fTypeableDept = + CompanyDatatypes.$fTypeableDept_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Dept -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Dept) + +CompanyDatatypes.$fTypeableUnit_ds2 :: GHC.Base.String +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 40 0}] +CompanyDatatypes.$fTypeableUnit_ds2 = + GHC.CString.unpackCString# "Unit" + +CompanyDatatypes.$fTypeableUnit_wild + :: Data.Typeable.Internal.TyCon +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 60}] +CompanyDatatypes.$fTypeableUnit_wild = + Data.Typeable.Internal.TyCon + (__word64 16894050643156401805) + (__word64 6854564727116554803) + CompanyDatatypes.$fTypeableUnit_ds + CompanyDatatypes.$fTypeableUnit_ds1 + CompanyDatatypes.$fTypeableUnit_ds2 + +CompanyDatatypes.$fTypeableUnit1 :: Data.Typeable.Internal.TypeRep +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 50}] +CompanyDatatypes.$fTypeableUnit1 = + Data.Typeable.Internal.TypeRep + (__word64 16894050643156401805) + (__word64 6854564727116554803) + CompanyDatatypes.$fTypeableUnit_wild + (GHC.Types.[] @ Data.Typeable.Internal.TypeRep) + +CompanyDatatypes.$fTypeableUnit_$ctypeOf + :: CompanyDatatypes.Unit -> Data.Typeable.Internal.TypeRep +[GblId, + Arity=1, + Str=DmdType Am, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ _ -> CompanyDatatypes.$fTypeableUnit1}] +CompanyDatatypes.$fTypeableUnit_$ctypeOf = + \ _ -> CompanyDatatypes.$fTypeableUnit1 + +CompanyDatatypes.$fTypeableUnit [InlPrag=INLINE (sat-args=0)] + :: Data.Typeable.Internal.Typeable CompanyDatatypes.Unit +[GblId[DFunId(nt)], + Str=DmdType, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) + Tmpl= CompanyDatatypes.$fTypeableUnit_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Unit -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Unit)}] +CompanyDatatypes.$fTypeableUnit = + CompanyDatatypes.$fTypeableUnit_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Unit -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Unit) + +CompanyDatatypes.$fTypeableEmployee_ds2 :: GHC.Base.String +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.$fTypeableEmployee_ds2 = + GHC.CString.unpackCString# "Employee" + +CompanyDatatypes.$fTypeableEmployee_wild + :: Data.Typeable.Internal.TyCon +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 60}] +CompanyDatatypes.$fTypeableEmployee_wild = + Data.Typeable.Internal.TyCon + (__word64 912757362657419687) + (__word64 13064721439508405479) + CompanyDatatypes.$fTypeableUnit_ds + CompanyDatatypes.$fTypeableUnit_ds1 + CompanyDatatypes.$fTypeableEmployee_ds2 + +CompanyDatatypes.$fTypeableEmployee1 + :: Data.Typeable.Internal.TypeRep +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 50}] +CompanyDatatypes.$fTypeableEmployee1 = + Data.Typeable.Internal.TypeRep + (__word64 912757362657419687) + (__word64 13064721439508405479) + CompanyDatatypes.$fTypeableEmployee_wild + (GHC.Types.[] @ Data.Typeable.Internal.TypeRep) + +CompanyDatatypes.$fTypeableEmployee_$ctypeOf + :: CompanyDatatypes.Employee -> Data.Typeable.Internal.TypeRep +[GblId, + Arity=1, + Str=DmdType Am, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ _ -> CompanyDatatypes.$fTypeableEmployee1}] +CompanyDatatypes.$fTypeableEmployee_$ctypeOf = + \ _ -> CompanyDatatypes.$fTypeableEmployee1 + +CompanyDatatypes.$fTypeableEmployee [InlPrag=INLINE (sat-args=0)] + :: Data.Typeable.Internal.Typeable CompanyDatatypes.Employee +[GblId[DFunId(nt)], + Str=DmdType, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) + Tmpl= CompanyDatatypes.$fTypeableEmployee_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable + )> + :: (CompanyDatatypes.Employee -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Employee)}] +CompanyDatatypes.$fTypeableEmployee = + CompanyDatatypes.$fTypeableEmployee_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable + )> + :: (CompanyDatatypes.Employee -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Employee) + +CompanyDatatypes.$fTypeablePerson_ds2 :: GHC.Base.String +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.$fTypeablePerson_ds2 = + GHC.CString.unpackCString# "Person" + +CompanyDatatypes.$fTypeablePerson_wild + :: Data.Typeable.Internal.TyCon +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 60}] +CompanyDatatypes.$fTypeablePerson_wild = + Data.Typeable.Internal.TyCon + (__word64 7289977482266162866) + (__word64 6479209035851230723) + CompanyDatatypes.$fTypeableUnit_ds + CompanyDatatypes.$fTypeableUnit_ds1 + CompanyDatatypes.$fTypeablePerson_ds2 + +CompanyDatatypes.$fTypeablePerson1 + :: Data.Typeable.Internal.TypeRep +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 50}] +CompanyDatatypes.$fTypeablePerson1 = + Data.Typeable.Internal.TypeRep + (__word64 7289977482266162866) + (__word64 6479209035851230723) + CompanyDatatypes.$fTypeablePerson_wild + (GHC.Types.[] @ Data.Typeable.Internal.TypeRep) + +CompanyDatatypes.$fTypeablePerson_$ctypeOf + :: CompanyDatatypes.Person -> Data.Typeable.Internal.TypeRep +[GblId, + Arity=1, + Str=DmdType Am, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ _ -> CompanyDatatypes.$fTypeablePerson1}] +CompanyDatatypes.$fTypeablePerson_$ctypeOf = + \ _ -> CompanyDatatypes.$fTypeablePerson1 + +CompanyDatatypes.$fTypeablePerson [InlPrag=INLINE (sat-args=0)] + :: Data.Typeable.Internal.Typeable CompanyDatatypes.Person +[GblId[DFunId(nt)], + Str=DmdType, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) + Tmpl= CompanyDatatypes.$fTypeablePerson_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Person -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Person)}] +CompanyDatatypes.$fTypeablePerson = + CompanyDatatypes.$fTypeablePerson_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Person -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Person) + +CompanyDatatypes.$fDataPerson1 + :: (CompanyDatatypes.Name + -> CompanyDatatypes.Address -> CompanyDatatypes.Person, + GHC.Types.Bool) +[GblId, + Caf=NoCafRefs, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.$fDataPerson1 = + (CompanyDatatypes.P, GHC.Types.False) + +CompanyDatatypes.$w$cgmapMo4 + :: forall (m_aY8 :: * -> *). + GHC.Base.Monad m_aY8 => + (forall a_a1nd. m_aY8 a_a1nd) + -> (forall a_a1nc. m_aY8 a_a1nc -> m_aY8 a_a1nc -> m_aY8 a_a1nc) + -> (forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + -> CompanyDatatypes.Person + -> m_aY8 CompanyDatatypes.Person +[GblId, + Arity=5, + Str=DmdType SLLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20 0 60 60 20] 580 0}] +CompanyDatatypes.$w$cgmapMo4 = + \ (@ (m_aY8 :: * -> *)) + (ww_s2ep :: GHC.Base.Monad m_aY8) + (ww1_s2eq :: forall a_a1nd. m_aY8 a_a1nd) + (ww2_s2er + :: forall a_a1nc. m_aY8 a_a1nc -> m_aY8 a_a1nc -> m_aY8 a_a1nc) + (w_s2et + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w3_s2eu :: CompanyDatatypes.Person) -> + case ww_s2ep + of _ { GHC.Base.D:Monad ww3_s2ef ww4_s2eg ww5_s2eh ww6_s2ei -> + ww3_s2ef + @ (CompanyDatatypes.Person, GHC.Types.Bool) + @ CompanyDatatypes.Person + (case w3_s2eu of _ { CompanyDatatypes.P a22_aSl a23_aSm -> + let { + a24_s1JH + :: forall d_X1xh b_X1xj. + Data.Data.Data d_X1xh => + Data.Data.Mp m_aY8 (d_X1xh -> b_X1xj) + -> d_X1xh -> m_aY8 (b_X1xj, GHC.Types.Bool) + [LclId, Arity=3, Str=DmdType LLL] + a24_s1JH = + \ (@ d_a1mF) + (@ b_a1mG) + ($dData2_a1mH :: Data.Data.Data d_a1mF) + (ds_a1mI :: Data.Data.Mp m_aY8 (d_a1mF -> b_a1mG)) + (y_a1mJ :: d_a1mF) -> + let { + lvl11_s1ER :: m_aY8 d_a1mF + [LclId, Str=DmdType] + lvl11_s1ER = w_s2et @ d_a1mF $dData2_a1mH y_a1mJ } in + ww3_s2ef + @ (d_a1mF -> b_a1mG, GHC.Types.Bool) + @ (b_a1mG, GHC.Types.Bool) + (ds_a1mI + `cast` ( b_a1mG>> + :: Data.Data.Mp m_aY8 (d_a1mF -> b_a1mG) + ~# + m_aY8 (d_a1mF -> b_a1mG, GHC.Types.Bool))) + (\ (ds1_a1mK :: (d_a1mF -> b_a1mG, GHC.Types.Bool)) -> + case ds1_a1mK of _ { (h_a1mN, b_a1mO) -> + case b_a1mO of _ { + GHC.Types.False -> + ww2_s2er + @ (b_a1mG, GHC.Types.Bool) + (ww3_s2ef + @ d_a1mF + @ (b_a1mG, GHC.Types.Bool) + lvl11_s1ER + (\ (y'_a1mT :: d_a1mF) -> + ww5_s2eh + @ (b_a1mG, GHC.Types.Bool) (h_a1mN y'_a1mT, GHC.Types.True))) + (ww5_s2eh + @ (b_a1mG, GHC.Types.Bool) (h_a1mN y_a1mJ, GHC.Types.False)); + GHC.Types.True -> + ww5_s2eh @ (b_a1mG, GHC.Types.Bool) (h_a1mN y_a1mJ, GHC.Types.True) + } + }) } in + a24_s1JH + @ CompanyDatatypes.Address + @ CompanyDatatypes.Person + CompanyDatatypes.$fDataPerson_$dData + ((a24_s1JH + @ CompanyDatatypes.Name + @ (CompanyDatatypes.Address -> CompanyDatatypes.Person) + CompanyDatatypes.$fDataPerson_$dData + ((ww5_s2eh + @ (CompanyDatatypes.Name + -> CompanyDatatypes.Address -> CompanyDatatypes.Person, + GHC.Types.Bool) + CompanyDatatypes.$fDataPerson1) + `cast` (Sym + <(Data.Data.NTCo:Mp + + CompanyDatatypes.Address -> CompanyDatatypes.Person>)> + :: m_aY8 (CompanyDatatypes.Name + -> CompanyDatatypes.Address -> CompanyDatatypes.Person, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aY8 + (CompanyDatatypes.Name + -> CompanyDatatypes.Address -> CompanyDatatypes.Person))) + a22_aSl) + `cast` (Sym + <(Data.Data.NTCo:Mp + CompanyDatatypes.Person>)> + :: m_aY8 (CompanyDatatypes.Address -> CompanyDatatypes.Person, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aY8 (CompanyDatatypes.Address -> CompanyDatatypes.Person))) + a23_aSm + }) + (\ (ds_a1n1 :: (CompanyDatatypes.Person, GHC.Types.Bool)) -> + case ds_a1n1 of _ { (x'_a1n4, b_a1n5) -> + case b_a1n5 of _ { + GHC.Types.False -> ww1_s2eq @ CompanyDatatypes.Person; + GHC.Types.True -> ww5_s2eh @ CompanyDatatypes.Person x'_a1n4 + } + }) + } + +CompanyDatatypes.$fDataPerson_$cgmapMo [InlPrag=INLINE[0]] + :: forall (m_aY8 :: * -> *). + Control.Monad.MonadPlus m_aY8 => + (forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + -> CompanyDatatypes.Person -> m_aY8 CompanyDatatypes.Person +[GblId, + Arity=3, + Str=DmdType U(SLL)LL, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapMo4, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aY8 :: * -> *)) + (w_s2en [Occ=Once!] :: Control.Monad.MonadPlus m_aY8) + (w3_s2et [Occ=Once] + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w4_s2eu [Occ=Once] :: CompanyDatatypes.Person) -> + case w_s2en + of _ + { Control.Monad.D:MonadPlus ww_s2ep [Occ=Once] + ww1_s2eq [Occ=Once] + ww2_s2er [Occ=Once] -> + CompanyDatatypes.$w$cgmapMo4 + @ m_aY8 ww_s2ep ww1_s2eq ww2_s2er w3_s2et w4_s2eu + }}] +CompanyDatatypes.$fDataPerson_$cgmapMo = + \ (@ (m_aY8 :: * -> *)) + (w_s2en :: Control.Monad.MonadPlus m_aY8) + (w3_s2et + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w4_s2eu :: CompanyDatatypes.Person) -> + case w_s2en + of _ { Control.Monad.D:MonadPlus ww_s2ep ww1_s2eq ww2_s2er -> + CompanyDatatypes.$w$cgmapMo4 + @ m_aY8 ww_s2ep ww1_s2eq ww2_s2er w3_s2et w4_s2eu + } + +CompanyDatatypes.$w$cgmapMp2 + :: forall (m_aXe :: * -> *). + GHC.Base.Monad m_aXe => + (forall a_a1nd. m_aXe a_a1nd) + -> (forall a_a1nc. m_aXe a_a1nc -> m_aXe a_a1nc -> m_aXe a_a1nc) + -> (forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + -> CompanyDatatypes.Person + -> m_aXe CompanyDatatypes.Person +[GblId, + Arity=5, + Str=DmdType SLLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20 0 60 60 20] 510 0}] +CompanyDatatypes.$w$cgmapMp2 = + \ (@ (m_aXe :: * -> *)) + (ww_s2eH :: GHC.Base.Monad m_aXe) + (ww1_s2eI :: forall a_a1nd. m_aXe a_a1nd) + (ww2_s2eJ + :: forall a_a1nc. m_aXe a_a1nc -> m_aXe a_a1nc -> m_aXe a_a1nc) + (w_s2eL + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w3_s2eM :: CompanyDatatypes.Person) -> + case ww_s2eH + of _ { GHC.Base.D:Monad ww3_s2ex ww4_s2ey ww5_s2ez ww6_s2eA -> + ww3_s2ex + @ (CompanyDatatypes.Person, GHC.Types.Bool) + @ CompanyDatatypes.Person + (case w3_s2eM of _ { CompanyDatatypes.P a22_aSl a23_aSm -> + let { + a24_s1JN + :: forall d_X1ye b_X1yg. + Data.Data.Data d_X1ye => + Data.Data.Mp m_aXe (d_X1ye -> b_X1yg) + -> d_X1ye -> m_aXe (b_X1yg, GHC.Types.Bool) + [LclId, Arity=3, Str=DmdType LLL] + a24_s1JN = + \ (@ d_a1nA) + (@ b_a1nB) + ($dData2_a1nC :: Data.Data.Data d_a1nA) + (ds_a1nD :: Data.Data.Mp m_aXe (d_a1nA -> b_a1nB)) + (y_a1nE :: d_a1nA) -> + let { + lvl11_s1ET [Dmd=Just L] :: m_aXe d_a1nA + [LclId, Str=DmdType] + lvl11_s1ET = w_s2eL @ d_a1nA $dData2_a1nC y_a1nE } in + ww3_s2ex + @ (d_a1nA -> b_a1nB, GHC.Types.Bool) + @ (b_a1nB, GHC.Types.Bool) + (ds_a1nD + `cast` ( b_a1nB>> + :: Data.Data.Mp m_aXe (d_a1nA -> b_a1nB) + ~# + m_aXe (d_a1nA -> b_a1nB, GHC.Types.Bool))) + (\ (ds1_a1nF :: (d_a1nA -> b_a1nB, GHC.Types.Bool)) -> + case ds1_a1nF of _ { (h_a1nI, b_a1nJ) -> + ww2_s2eJ + @ (b_a1nB, GHC.Types.Bool) + (ww3_s2ex + @ d_a1nA + @ (b_a1nB, GHC.Types.Bool) + lvl11_s1ET + (\ (y'_a1nL :: d_a1nA) -> + ww5_s2ez + @ (b_a1nB, GHC.Types.Bool) (h_a1nI y'_a1nL, GHC.Types.True))) + (ww5_s2ez @ (b_a1nB, GHC.Types.Bool) (h_a1nI y_a1nE, b_a1nJ)) + }) } in + a24_s1JN + @ CompanyDatatypes.Address + @ CompanyDatatypes.Person + CompanyDatatypes.$fDataPerson_$dData + ((a24_s1JN + @ CompanyDatatypes.Name + @ (CompanyDatatypes.Address -> CompanyDatatypes.Person) + CompanyDatatypes.$fDataPerson_$dData + ((ww5_s2ez + @ (CompanyDatatypes.Name + -> CompanyDatatypes.Address -> CompanyDatatypes.Person, + GHC.Types.Bool) + CompanyDatatypes.$fDataPerson1) + `cast` (Sym + <(Data.Data.NTCo:Mp + + CompanyDatatypes.Address -> CompanyDatatypes.Person>)> + :: m_aXe (CompanyDatatypes.Name + -> CompanyDatatypes.Address -> CompanyDatatypes.Person, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aXe + (CompanyDatatypes.Name + -> CompanyDatatypes.Address -> CompanyDatatypes.Person))) + a22_aSl) + `cast` (Sym + <(Data.Data.NTCo:Mp + CompanyDatatypes.Person>)> + :: m_aXe (CompanyDatatypes.Address -> CompanyDatatypes.Person, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aXe (CompanyDatatypes.Address -> CompanyDatatypes.Person))) + a23_aSm + }) + (\ (ds_a1nR :: (CompanyDatatypes.Person, GHC.Types.Bool)) -> + case ds_a1nR of _ { (x'_a1nU, b_a1nV) -> + case b_a1nV of _ { + GHC.Types.False -> ww1_s2eI @ CompanyDatatypes.Person; + GHC.Types.True -> ww5_s2ez @ CompanyDatatypes.Person x'_a1nU + } + }) + } + +CompanyDatatypes.$fDataPerson_$cgmapMp [InlPrag=INLINE[0]] + :: forall (m_aXe :: * -> *). + Control.Monad.MonadPlus m_aXe => + (forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + -> CompanyDatatypes.Person -> m_aXe CompanyDatatypes.Person +[GblId, + Arity=3, + Str=DmdType U(SLL)LL, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapMp2, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aXe :: * -> *)) + (w_s2eF [Occ=Once!] :: Control.Monad.MonadPlus m_aXe) + (w3_s2eL [Occ=Once] + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w4_s2eM [Occ=Once] :: CompanyDatatypes.Person) -> + case w_s2eF + of _ + { Control.Monad.D:MonadPlus ww_s2eH [Occ=Once] + ww1_s2eI [Occ=Once] + ww2_s2eJ [Occ=Once] -> + CompanyDatatypes.$w$cgmapMp2 + @ m_aXe ww_s2eH ww1_s2eI ww2_s2eJ w3_s2eL w4_s2eM + }}] +CompanyDatatypes.$fDataPerson_$cgmapMp = + \ (@ (m_aXe :: * -> *)) + (w_s2eF :: Control.Monad.MonadPlus m_aXe) + (w3_s2eL + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w4_s2eM :: CompanyDatatypes.Person) -> + case w_s2eF + of _ { Control.Monad.D:MonadPlus ww_s2eH ww1_s2eI ww2_s2eJ -> + CompanyDatatypes.$w$cgmapMp2 + @ m_aXe ww_s2eH ww1_s2eI ww2_s2eJ w3_s2eL w4_s2eM + } + +CompanyDatatypes.$w$cgmapM2 + :: forall (m_aX4 :: * -> *). + (forall a_a1ne b_a1nf. + m_aX4 a_a1ne -> (a_a1ne -> m_aX4 b_a1nf) -> m_aX4 b_a1nf) + -> (forall a_a1ni. a_a1ni -> m_aX4 a_a1ni) + -> (forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + -> CompanyDatatypes.Name + -> CompanyDatatypes.Address + -> m_aX4 CompanyDatatypes.Person +[GblId, + Arity=5, + Str=DmdType SLLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [120 120 60 0 0] 300 0}] +CompanyDatatypes.$w$cgmapM2 = + \ (@ (m_aX4 :: * -> *)) + (ww_s2eT + :: forall a_a1ne b_a1nf. + m_aX4 a_a1ne -> (a_a1ne -> m_aX4 b_a1nf) -> m_aX4 b_a1nf) + (ww1_s2eV :: forall a_a1ni. a_a1ni -> m_aX4 a_a1ni) + (w_s2eY + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (ww2_s2f1 :: CompanyDatatypes.Name) + (ww3_s2f2 :: CompanyDatatypes.Address) -> + let { + k_XWA + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + m_aX4 (d_aV1 -> b_aV2) -> d_aV1 -> m_aX4 b_aV2 + [LclId, Arity=3, Str=DmdType LLL] + k_XWA = + \ (@ d_a1ob) + (@ b_a1oc) + ($dData2_a1od :: Data.Data.Data d_a1ob) + (c_a1oe :: m_aX4 (d_a1ob -> b_a1oc)) + (x_a1of :: d_a1ob) -> + let { + lvl11_s1EU [Dmd=Just L] :: m_aX4 d_a1ob + [LclId, Str=DmdType] + lvl11_s1EU = w_s2eY @ d_a1ob $dData2_a1od x_a1of } in + ww_s2eT + @ (d_a1ob -> b_a1oc) + @ b_a1oc + c_a1oe + (\ (c'_a1og :: d_a1ob -> b_a1oc) -> + ww_s2eT + @ d_a1ob + @ b_a1oc + lvl11_s1EU + (\ (x'_a1oh :: d_a1ob) -> + ww1_s2eV @ b_a1oc (c'_a1og x'_a1oh))) } in + k_XWA + @ CompanyDatatypes.Address + @ CompanyDatatypes.Person + CompanyDatatypes.$fDataPerson_$dData + (k_XWA + @ CompanyDatatypes.Name + @ (CompanyDatatypes.Address -> CompanyDatatypes.Person) + CompanyDatatypes.$fDataPerson_$dData + (ww1_s2eV + @ (CompanyDatatypes.Name + -> CompanyDatatypes.Address -> CompanyDatatypes.Person) + CompanyDatatypes.P) + ww2_s2f1) + ww3_s2f2 + +CompanyDatatypes.$fDataPerson_$cgmapM [InlPrag=INLINE[0]] + :: forall (m_aX4 :: * -> *). + GHC.Base.Monad m_aX4 => + (forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + -> CompanyDatatypes.Person -> m_aX4 CompanyDatatypes.Person +[GblId, + Arity=3, + Str=DmdType U(SALA)LU(LL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapM2, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aX4 :: * -> *)) + (w_s2eR [Occ=Once!] :: GHC.Base.Monad m_aX4) + (w3_s2eY [Occ=Once] + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w4_s2eZ [Occ=Once!] :: CompanyDatatypes.Person) -> + case w_s2eR + of _ + { GHC.Base.D:Monad ww_s2eT [Occ=Once] _ ww2_s2eV [Occ=Once] _ -> + case w4_s2eZ + of _ + { CompanyDatatypes.P ww4_s2f1 [Occ=Once] ww5_s2f2 [Occ=Once] -> + CompanyDatatypes.$w$cgmapM2 + @ m_aX4 ww_s2eT ww2_s2eV w3_s2eY ww4_s2f1 ww5_s2f2 + } + }}] +CompanyDatatypes.$fDataPerson_$cgmapM = + \ (@ (m_aX4 :: * -> *)) + (w_s2eR :: GHC.Base.Monad m_aX4) + (w3_s2eY + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w4_s2eZ :: CompanyDatatypes.Person) -> + case w_s2eR + of _ { GHC.Base.D:Monad ww_s2eT ww1_s2eU ww2_s2eV ww3_s2eW -> + case w4_s2eZ of _ { CompanyDatatypes.P ww4_s2f1 ww5_s2f2 -> + CompanyDatatypes.$w$cgmapM2 + @ m_aX4 ww_s2eT ww2_s2eV w3_s2eY ww4_s2f1 ww5_s2f2 + } + } + +CompanyDatatypes.$w$cgmapQi1 + :: forall u_aWW. + GHC.Prim.Int# + -> (forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + -> CompanyDatatypes.Name + -> CompanyDatatypes.Address + -> u_aWW +[GblId, + Arity=4, + Str=DmdType LC(C(S))LL, + Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [70 120 0 0] 90 0}] +CompanyDatatypes.$w$cgmapQi1 = + \ (@ u_aWW) + (ww_s2fa :: GHC.Prim.Int#) + (w_s2fc :: forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + (ww1_s2ff :: CompanyDatatypes.Name) + (ww2_s2fg :: CompanyDatatypes.Address) -> + case ww_s2fa of _ { + __DEFAULT -> Data.Maybe.fromJust1 @ u_aWW; + 0 -> + w_s2fc + @ CompanyDatatypes.Name + CompanyDatatypes.$fDataPerson_$dData + ww1_s2ff; + 1 -> + w_s2fc + @ CompanyDatatypes.Address + CompanyDatatypes.$fDataPerson_$dData + ww2_s2fg + } + +CompanyDatatypes.$fDataPerson_$cgmapQi [InlPrag=INLINE[0]] + :: forall u_aWW. + GHC.Types.Int + -> (forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + -> CompanyDatatypes.Person + -> u_aWW +[GblId, + Arity=3, + Str=DmdType U(L)C(C(S))U(LL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapQi1, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ u_aWW) + (w_s2f8 [Occ=Once!] :: GHC.Types.Int) + (w3_s2fc [Occ=Once] + :: forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + (w4_s2fd [Occ=Once!] :: CompanyDatatypes.Person) -> + case w_s2f8 of _ { GHC.Types.I# ww_s2fa [Occ=Once] -> + case w4_s2fd + of _ + { CompanyDatatypes.P ww1_s2ff [Occ=Once] ww2_s2fg [Occ=Once] -> + CompanyDatatypes.$w$cgmapQi1 + @ u_aWW ww_s2fa w3_s2fc ww1_s2ff ww2_s2fg + } + }}] +CompanyDatatypes.$fDataPerson_$cgmapQi = + \ (@ u_aWW) + (w_s2f8 :: GHC.Types.Int) + (w3_s2fc :: forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + (w4_s2fd :: CompanyDatatypes.Person) -> + case w_s2f8 of _ { GHC.Types.I# ww_s2fa -> + case w4_s2fd of _ { CompanyDatatypes.P ww1_s2ff ww2_s2fg -> + CompanyDatatypes.$w$cgmapQi1 + @ u_aWW ww_s2fa w3_s2fc ww1_s2ff ww2_s2fg + } + } + +CompanyDatatypes.$w$cgmapQr1 + :: forall r_aWE r'_aWF. + (r'_aWF -> r_aWE -> r_aWE) + -> r_aWE + -> (forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + -> CompanyDatatypes.Name + -> CompanyDatatypes.Address + -> r_aWE +[GblId, + Arity=5, + Str=DmdType C(C(S))LLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [60 0 120 0 0] 120 0}] +CompanyDatatypes.$w$cgmapQr1 = + \ (@ r_aWE) + (@ r'_aWF) + (w_s2fn :: r'_aWF -> r_aWE -> r_aWE) + (w3_s2fo :: r_aWE) + (w4_s2fp :: forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + (ww_s2fs :: CompanyDatatypes.Name) + (ww1_s2ft :: CompanyDatatypes.Address) -> + w_s2fn + (w4_s2fp + @ CompanyDatatypes.Name + CompanyDatatypes.$fDataPerson_$dData + ww_s2fs) + (w_s2fn + (w4_s2fp + @ CompanyDatatypes.Address + CompanyDatatypes.$fDataPerson_$dData + ww1_s2ft) + w3_s2fo) + +CompanyDatatypes.$fDataPerson_$cgmapQr [InlPrag=INLINE[0]] + :: forall r_aWE r'_aWF. + (r'_aWF -> r_aWE -> r_aWE) + -> r_aWE + -> (forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + -> CompanyDatatypes.Person + -> r_aWE +[GblId, + Arity=4, + Str=DmdType C(C(S))LLU(LL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapQr1, TopLvl=True, + Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ r_aWE) + (@ r'_aWF) + (w_s2fn [Occ=Once] :: r'_aWF -> r_aWE -> r_aWE) + (w3_s2fo [Occ=Once] :: r_aWE) + (w4_s2fp [Occ=Once] + :: forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + (w5_s2fq [Occ=Once!] :: CompanyDatatypes.Person) -> + case w5_s2fq + of _ { CompanyDatatypes.P ww_s2fs [Occ=Once] ww1_s2ft [Occ=Once] -> + CompanyDatatypes.$w$cgmapQr1 + @ r_aWE @ r'_aWF w_s2fn w3_s2fo w4_s2fp ww_s2fs ww1_s2ft + }}] +CompanyDatatypes.$fDataPerson_$cgmapQr = + \ (@ r_aWE) + (@ r'_aWF) + (w_s2fn :: r'_aWF -> r_aWE -> r_aWE) + (w3_s2fo :: r_aWE) + (w4_s2fp :: forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + (w5_s2fq :: CompanyDatatypes.Person) -> + case w5_s2fq of _ { CompanyDatatypes.P ww_s2fs ww1_s2ft -> + CompanyDatatypes.$w$cgmapQr1 + @ r_aWE @ r'_aWF w_s2fn w3_s2fo w4_s2fp ww_s2fs ww1_s2ft + } + +CompanyDatatypes.$fDataPerson_$cgmapQ + :: forall u_aWO. + (forall d_aWP. Data.Data.Data d_aWP => d_aWP -> u_aWO) + -> CompanyDatatypes.Person -> [u_aWO] +[GblId, + Arity=2, + Str=DmdType LU(LL), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ u_a1pL) + (f_a1pM + :: forall d_a1pN. Data.Data.Data d_a1pN => d_a1pN -> u_a1pL) + (eta_B1 [Occ=Once!] :: CompanyDatatypes.Person) -> + case eta_B1 + of _ { CompanyDatatypes.P a22_aSl [Occ=Once] a23_aSm [Occ=Once] -> + GHC.Types.: + @ u_a1pL + (f_a1pM + @ CompanyDatatypes.Name + CompanyDatatypes.$fDataPerson_$dData + a22_aSl) + (GHC.Types.: + @ u_a1pL + (f_a1pM + @ CompanyDatatypes.Address + CompanyDatatypes.$fDataPerson_$dData + a23_aSm) + (GHC.Types.[] @ u_a1pL)) + }}] +CompanyDatatypes.$fDataPerson_$cgmapQ = + \ (@ u_a1pL) + (f_a1pM + :: forall d_a1pN. Data.Data.Data d_a1pN => d_a1pN -> u_a1pL) + (eta_B1 :: CompanyDatatypes.Person) -> + case eta_B1 of _ { CompanyDatatypes.P a22_aSl a23_aSm -> + GHC.Types.: + @ u_a1pL + (f_a1pM + @ CompanyDatatypes.Name + CompanyDatatypes.$fDataPerson_$dData + a22_aSl) + (GHC.Types.: + @ u_a1pL + (f_a1pM + @ CompanyDatatypes.Address + CompanyDatatypes.$fDataPerson_$dData + a23_aSm) + (GHC.Types.[] @ u_a1pL)) + } + +CompanyDatatypes.$w$cgmapQl1 + :: forall r_aWu r'_aWv. + (r_aWu -> r'_aWv -> r_aWu) + -> r_aWu + -> (forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + -> CompanyDatatypes.Name + -> CompanyDatatypes.Address + -> r_aWu +[GblId, + Arity=5, + Str=DmdType C(C(S))LLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [60 0 120 0 0] 120 0}] +CompanyDatatypes.$w$cgmapQl1 = + \ (@ r_aWu) + (@ r'_aWv) + (w_s2fA :: r_aWu -> r'_aWv -> r_aWu) + (w3_s2fB :: r_aWu) + (w4_s2fC :: forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + (ww_s2fF :: CompanyDatatypes.Name) + (ww1_s2fG :: CompanyDatatypes.Address) -> + w_s2fA + (w_s2fA + w3_s2fB + (w4_s2fC + @ CompanyDatatypes.Name + CompanyDatatypes.$fDataPerson_$dData + ww_s2fF)) + (w4_s2fC + @ CompanyDatatypes.Address + CompanyDatatypes.$fDataPerson_$dData + ww1_s2fG) + +CompanyDatatypes.$fDataPerson_$cgmapQl [InlPrag=INLINE[0]] + :: forall r_aWu r'_aWv. + (r_aWu -> r'_aWv -> r_aWu) + -> r_aWu + -> (forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + -> CompanyDatatypes.Person + -> r_aWu +[GblId, + Arity=4, + Str=DmdType C(C(S))LLU(LL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapQl1, TopLvl=True, + Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ r_aWu) + (@ r'_aWv) + (w_s2fA [Occ=Once] :: r_aWu -> r'_aWv -> r_aWu) + (w3_s2fB [Occ=Once] :: r_aWu) + (w4_s2fC [Occ=Once] + :: forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + (w5_s2fD [Occ=Once!] :: CompanyDatatypes.Person) -> + case w5_s2fD + of _ { CompanyDatatypes.P ww_s2fF [Occ=Once] ww1_s2fG [Occ=Once] -> + CompanyDatatypes.$w$cgmapQl1 + @ r_aWu @ r'_aWv w_s2fA w3_s2fB w4_s2fC ww_s2fF ww1_s2fG + }}] +CompanyDatatypes.$fDataPerson_$cgmapQl = + \ (@ r_aWu) + (@ r'_aWv) + (w_s2fA :: r_aWu -> r'_aWv -> r_aWu) + (w3_s2fB :: r_aWu) + (w4_s2fC :: forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + (w5_s2fD :: CompanyDatatypes.Person) -> + case w5_s2fD of _ { CompanyDatatypes.P ww_s2fF ww1_s2fG -> + CompanyDatatypes.$w$cgmapQl1 + @ r_aWu @ r'_aWv w_s2fA w3_s2fB w4_s2fC ww_s2fF ww1_s2fG + } + +CompanyDatatypes.$fDataPerson_$cgmapT + :: (forall b_aWo. Data.Data.Data b_aWo => b_aWo -> b_aWo) + -> CompanyDatatypes.Person -> CompanyDatatypes.Person +[GblId, + Arity=2, + Str=DmdType LU(LL)m, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (f_a1r7 + :: forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + (x0_a1r9 [Occ=Once!] :: CompanyDatatypes.Person) -> + case x0_a1r9 + of _ { CompanyDatatypes.P a22_aSl [Occ=Once] a23_aSm [Occ=Once] -> + CompanyDatatypes.P + (f_a1r7 + @ CompanyDatatypes.Name + CompanyDatatypes.$fDataPerson_$dData + a22_aSl) + (f_a1r7 + @ CompanyDatatypes.Address + CompanyDatatypes.$fDataPerson_$dData + a23_aSm) + }}] +CompanyDatatypes.$fDataPerson_$cgmapT = + \ (f_a1r7 + :: forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + (x0_a1r9 :: CompanyDatatypes.Person) -> + case x0_a1r9 of _ { CompanyDatatypes.P a22_aSl a23_aSm -> + CompanyDatatypes.P + (f_a1r7 + @ CompanyDatatypes.Name + CompanyDatatypes.$fDataPerson_$dData + a22_aSl) + (f_a1r7 + @ CompanyDatatypes.Address + CompanyDatatypes.$fDataPerson_$dData + a23_aSm) + } + +CompanyDatatypes.$fDataPerson_$cdataCast2 + :: forall (c_aWc :: * -> *) (t_aWd :: * -> * -> *). + Data.Typeable.Internal.Typeable2 t_aWd => + (forall d_aWe e_aWf. + (Data.Data.Data d_aWe, Data.Data.Data e_aWf) => + c_aWc (t_aWd d_aWe e_aWf)) + -> Data.Maybe.Maybe (c_aWc CompanyDatatypes.Person) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType AA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_a1rt :: * -> *)) (@ (t_a1ru :: * -> * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rt CompanyDatatypes.Person)}] +CompanyDatatypes.$fDataPerson_$cdataCast2 = + \ (@ (c_a1rt :: * -> *)) (@ (t_a1ru :: * -> * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rt CompanyDatatypes.Person) + +CompanyDatatypes.$fDataPerson_$cdataCast1 + :: forall (c_aVp :: * -> *) (t_aVq :: * -> *). + Data.Typeable.Internal.Typeable1 t_aVq => + (forall d_aVr. Data.Data.Data d_aVr => c_aVp (t_aVq d_aVr)) + -> Data.Maybe.Maybe (c_aVp CompanyDatatypes.Person) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType AA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_a1rB :: * -> *)) (@ (t_a1rC :: * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rB CompanyDatatypes.Person)}] +CompanyDatatypes.$fDataPerson_$cdataCast1 = + \ (@ (c_a1rB :: * -> *)) (@ (t_a1rC :: * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rB CompanyDatatypes.Person) + +CompanyDatatypes.$fDataPerson [InlPrag=[ALWAYS] CONLIKE] + :: Data.Data.Data CompanyDatatypes.Person +[GblId[DFunId], + Str=DmdType, + Unf=DFun(arity=0) Data.Data.D:Data [{CompanyDatatypes.$fTypeablePerson}, + {CompanyDatatypes.$fDataPerson_$cgfoldl}, + {CompanyDatatypes.$fDataPerson_$cgunfold}, + {CompanyDatatypes.$fDataPerson_$ctoConstr}, + {CompanyDatatypes.$fDataPerson_$cdataTypeOf}, + {CompanyDatatypes.$fDataPerson_$cdataCast1}, + {CompanyDatatypes.$fDataPerson_$cdataCast2}, + {CompanyDatatypes.$fDataPerson_$cgmapT}, + {CompanyDatatypes.$fDataPerson_$cgmapQl}, + {CompanyDatatypes.$fDataPerson_$cgmapQr}, + {CompanyDatatypes.$fDataPerson_$cgmapQ}, + {CompanyDatatypes.$fDataPerson_$cgmapQi}, + {CompanyDatatypes.$fDataPerson_$cgmapM}, + {CompanyDatatypes.$fDataPerson_$cgmapMp}, + {CompanyDatatypes.$fDataPerson_$cgmapMo}]] +CompanyDatatypes.$fDataPerson = + Data.Data.D:Data + @ CompanyDatatypes.Person + (CompanyDatatypes.$fTypeablePerson_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Person -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Person)) + CompanyDatatypes.$fDataPerson_$cgfoldl + CompanyDatatypes.$fDataPerson_$cgunfold + CompanyDatatypes.$fDataPerson_$ctoConstr + CompanyDatatypes.$fDataPerson_$cdataTypeOf + CompanyDatatypes.$fDataPerson_$cdataCast1 + CompanyDatatypes.$fDataPerson_$cdataCast2 + CompanyDatatypes.$fDataPerson_$cgmapT + CompanyDatatypes.$fDataPerson_$cgmapQl + CompanyDatatypes.$fDataPerson_$cgmapQr + CompanyDatatypes.$fDataPerson_$cgmapQ + CompanyDatatypes.$fDataPerson_$cgmapQi + CompanyDatatypes.$fDataPerson_$cgmapM + CompanyDatatypes.$fDataPerson_$cgmapMp + CompanyDatatypes.$fDataPerson_$cgmapMo + +CompanyDatatypes.$fTypeableSalary_ds2 :: GHC.Base.String +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=False, + Guidance=IF_ARGS [] 50 0}] +CompanyDatatypes.$fTypeableSalary_ds2 = + GHC.CString.unpackCString# "Salary" + +CompanyDatatypes.$fTypeableSalary_wild + :: Data.Typeable.Internal.TyCon +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 60}] +CompanyDatatypes.$fTypeableSalary_wild = + Data.Typeable.Internal.TyCon + (__word64 1667096353067349412) + (__word64 757304047316444936) + CompanyDatatypes.$fTypeableUnit_ds + CompanyDatatypes.$fTypeableUnit_ds1 + CompanyDatatypes.$fTypeableSalary_ds2 + +CompanyDatatypes.$fTypeableSalary1 + :: Data.Typeable.Internal.TypeRep +[GblId, + Str=DmdType m, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 50}] +CompanyDatatypes.$fTypeableSalary1 = + Data.Typeable.Internal.TypeRep + (__word64 1667096353067349412) + (__word64 757304047316444936) + CompanyDatatypes.$fTypeableSalary_wild + (GHC.Types.[] @ Data.Typeable.Internal.TypeRep) + +CompanyDatatypes.$fTypeableSalary_$ctypeOf + :: CompanyDatatypes.Salary -> Data.Typeable.Internal.TypeRep +[GblId, + Arity=1, + Str=DmdType Am, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ _ -> CompanyDatatypes.$fTypeableSalary1}] +CompanyDatatypes.$fTypeableSalary_$ctypeOf = + \ _ -> CompanyDatatypes.$fTypeableSalary1 + +CompanyDatatypes.$fTypeableSalary [InlPrag=INLINE (sat-args=0)] + :: Data.Typeable.Internal.Typeable CompanyDatatypes.Salary +[GblId[DFunId(nt)], + Str=DmdType, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) + Tmpl= CompanyDatatypes.$fTypeableSalary_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Salary -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Salary)}] +CompanyDatatypes.$fTypeableSalary = + CompanyDatatypes.$fTypeableSalary_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Salary -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Salary) + +CompanyDatatypes.$fDataSalary1 + :: (GHC.Types.Float -> CompanyDatatypes.Salary, GHC.Types.Bool) +[GblId, + Caf=NoCafRefs, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.$fDataSalary1 = + (CompanyDatatypes.S, GHC.Types.False) + +CompanyDatatypes.$w$cgmapMo5 + :: forall (m_aY8 :: * -> *). + GHC.Base.Monad m_aY8 => + (forall a_a1nd. m_aY8 a_a1nd) + -> (forall a_a1nc. m_aY8 a_a1nc -> m_aY8 a_a1nc -> m_aY8 a_a1nc) + -> (forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + -> CompanyDatatypes.Salary + -> m_aY8 CompanyDatatypes.Salary +[GblId, + Arity=5, + Str=DmdType SLLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20 0 60 60 20] 460 0}] +CompanyDatatypes.$w$cgmapMo5 = + \ (@ (m_aY8 :: * -> *)) + (ww_s2fU :: GHC.Base.Monad m_aY8) + (ww1_s2fV :: forall a_a1nd. m_aY8 a_a1nd) + (ww2_s2fW + :: forall a_a1nc. m_aY8 a_a1nc -> m_aY8 a_a1nc -> m_aY8 a_a1nc) + (w_s2fY + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w3_s2fZ :: CompanyDatatypes.Salary) -> + case ww_s2fU + of _ { GHC.Base.D:Monad ww3_s2fK ww4_s2fL ww5_s2fM ww6_s2fN -> + ww3_s2fK + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + @ CompanyDatatypes.Salary + (case w3_s2fZ of _ { CompanyDatatypes.S a22_aS7 -> + let { + lvl11_s1Fa :: m_aY8 GHC.Types.Float + [LclId, Str=DmdType] + lvl11_s1Fa = + w_s2fY @ GHC.Types.Float Data.Data.$fDataFloat a22_aS7 } in + ww3_s2fK + @ (GHC.Types.Float -> CompanyDatatypes.Salary, GHC.Types.Bool) + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + (ww5_s2fM + @ (GHC.Types.Float -> CompanyDatatypes.Salary, GHC.Types.Bool) + CompanyDatatypes.$fDataSalary1) + (\ (ds1_a1mK + :: (GHC.Types.Float -> CompanyDatatypes.Salary, GHC.Types.Bool)) -> + case ds1_a1mK of _ { (h_a1mN, b_a1mO) -> + case b_a1mO of _ { + GHC.Types.False -> + ww2_s2fW + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + (ww3_s2fK + @ GHC.Types.Float + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + lvl11_s1Fa + (\ (y'_a1mT :: GHC.Types.Float) -> + ww5_s2fM + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + (h_a1mN y'_a1mT, GHC.Types.True))) + (ww5_s2fM + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + (h_a1mN a22_aS7, GHC.Types.False)); + GHC.Types.True -> + ww5_s2fM + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + (h_a1mN a22_aS7, GHC.Types.True) + } + }) + }) + (\ (ds_a1n1 :: (CompanyDatatypes.Salary, GHC.Types.Bool)) -> + case ds_a1n1 of _ { (x'_a1n4, b_a1n5) -> + case b_a1n5 of _ { + GHC.Types.False -> ww1_s2fV @ CompanyDatatypes.Salary; + GHC.Types.True -> ww5_s2fM @ CompanyDatatypes.Salary x'_a1n4 + } + }) + } + +CompanyDatatypes.$fDataSalary_$cgmapMo [InlPrag=INLINE[0]] + :: forall (m_aY8 :: * -> *). + Control.Monad.MonadPlus m_aY8 => + (forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + -> CompanyDatatypes.Salary -> m_aY8 CompanyDatatypes.Salary +[GblId, + Arity=3, + Str=DmdType U(SLL)LL, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapMo5, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aY8 :: * -> *)) + (w_s2fS [Occ=Once!] :: Control.Monad.MonadPlus m_aY8) + (w3_s2fY [Occ=Once] + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w4_s2fZ [Occ=Once] :: CompanyDatatypes.Salary) -> + case w_s2fS + of _ + { Control.Monad.D:MonadPlus ww_s2fU [Occ=Once] + ww1_s2fV [Occ=Once] + ww2_s2fW [Occ=Once] -> + CompanyDatatypes.$w$cgmapMo5 + @ m_aY8 ww_s2fU ww1_s2fV ww2_s2fW w3_s2fY w4_s2fZ + }}] +CompanyDatatypes.$fDataSalary_$cgmapMo = + \ (@ (m_aY8 :: * -> *)) + (w_s2fS :: Control.Monad.MonadPlus m_aY8) + (w3_s2fY + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w4_s2fZ :: CompanyDatatypes.Salary) -> + case w_s2fS + of _ { Control.Monad.D:MonadPlus ww_s2fU ww1_s2fV ww2_s2fW -> + CompanyDatatypes.$w$cgmapMo5 + @ m_aY8 ww_s2fU ww1_s2fV ww2_s2fW w3_s2fY w4_s2fZ + } + +CompanyDatatypes.$w$cgmapMp3 + :: forall (m_aXe :: * -> *). + GHC.Base.Monad m_aXe => + (forall a_a1nd. m_aXe a_a1nd) + -> (forall a_a1nc. m_aXe a_a1nc -> m_aXe a_a1nc -> m_aXe a_a1nc) + -> (forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + -> CompanyDatatypes.Salary + -> m_aXe CompanyDatatypes.Salary +[GblId, + Arity=5, + Str=DmdType SLLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20 0 60 60 20] 390 0}] +CompanyDatatypes.$w$cgmapMp3 = + \ (@ (m_aXe :: * -> *)) + (ww_s2gc :: GHC.Base.Monad m_aXe) + (ww1_s2gd :: forall a_a1nd. m_aXe a_a1nd) + (ww2_s2ge + :: forall a_a1nc. m_aXe a_a1nc -> m_aXe a_a1nc -> m_aXe a_a1nc) + (w_s2gg + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w3_s2gh :: CompanyDatatypes.Salary) -> + case ww_s2gc + of _ { GHC.Base.D:Monad ww3_s2g2 ww4_s2g3 ww5_s2g4 ww6_s2g5 -> + ww3_s2g2 + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + @ CompanyDatatypes.Salary + (case w3_s2gh of _ { CompanyDatatypes.S a22_aS7 -> + let { + lvl11_s1Fc [Dmd=Just L] :: m_aXe GHC.Types.Float + [LclId, Str=DmdType] + lvl11_s1Fc = + w_s2gg @ GHC.Types.Float Data.Data.$fDataFloat a22_aS7 } in + ww3_s2g2 + @ (GHC.Types.Float -> CompanyDatatypes.Salary, GHC.Types.Bool) + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + (ww5_s2g4 + @ (GHC.Types.Float -> CompanyDatatypes.Salary, GHC.Types.Bool) + CompanyDatatypes.$fDataSalary1) + (\ (ds1_a1nF + :: (GHC.Types.Float -> CompanyDatatypes.Salary, GHC.Types.Bool)) -> + case ds1_a1nF of _ { (h_a1nI, b_a1nJ) -> + ww2_s2ge + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + (ww3_s2g2 + @ GHC.Types.Float + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + lvl11_s1Fc + (\ (y'_a1nL :: GHC.Types.Float) -> + ww5_s2g4 + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + (h_a1nI y'_a1nL, GHC.Types.True))) + (ww5_s2g4 + @ (CompanyDatatypes.Salary, GHC.Types.Bool) + (h_a1nI a22_aS7, b_a1nJ)) + }) + }) + (\ (ds_a1nR :: (CompanyDatatypes.Salary, GHC.Types.Bool)) -> + case ds_a1nR of _ { (x'_a1nU, b_a1nV) -> + case b_a1nV of _ { + GHC.Types.False -> ww1_s2gd @ CompanyDatatypes.Salary; + GHC.Types.True -> ww5_s2g4 @ CompanyDatatypes.Salary x'_a1nU + } + }) + } + +CompanyDatatypes.$fDataSalary_$cgmapMp [InlPrag=INLINE[0]] + :: forall (m_aXe :: * -> *). + Control.Monad.MonadPlus m_aXe => + (forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + -> CompanyDatatypes.Salary -> m_aXe CompanyDatatypes.Salary +[GblId, + Arity=3, + Str=DmdType U(SLL)LL, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapMp3, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aXe :: * -> *)) + (w_s2ga [Occ=Once!] :: Control.Monad.MonadPlus m_aXe) + (w3_s2gg [Occ=Once] + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w4_s2gh [Occ=Once] :: CompanyDatatypes.Salary) -> + case w_s2ga + of _ + { Control.Monad.D:MonadPlus ww_s2gc [Occ=Once] + ww1_s2gd [Occ=Once] + ww2_s2ge [Occ=Once] -> + CompanyDatatypes.$w$cgmapMp3 + @ m_aXe ww_s2gc ww1_s2gd ww2_s2ge w3_s2gg w4_s2gh + }}] +CompanyDatatypes.$fDataSalary_$cgmapMp = + \ (@ (m_aXe :: * -> *)) + (w_s2ga :: Control.Monad.MonadPlus m_aXe) + (w3_s2gg + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w4_s2gh :: CompanyDatatypes.Salary) -> + case w_s2ga + of _ { Control.Monad.D:MonadPlus ww_s2gc ww1_s2gd ww2_s2ge -> + CompanyDatatypes.$w$cgmapMp3 + @ m_aXe ww_s2gc ww1_s2gd ww2_s2ge w3_s2gg w4_s2gh + } + +CompanyDatatypes.$w$cgmapM3 + :: forall (m_aX4 :: * -> *). + (forall a_a1ne b_a1nf. + m_aX4 a_a1ne -> (a_a1ne -> m_aX4 b_a1nf) -> m_aX4 b_a1nf) + -> (forall a_a1ni. a_a1ni -> m_aX4 a_a1ni) + -> (forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + -> GHC.Types.Float + -> m_aX4 CompanyDatatypes.Salary +[GblId, + Arity=4, + Str=DmdType SLLL, + Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [120 120 60 0] 180 0}] +CompanyDatatypes.$w$cgmapM3 = + \ (@ (m_aX4 :: * -> *)) + (ww_s2go + :: forall a_a1ne b_a1nf. + m_aX4 a_a1ne -> (a_a1ne -> m_aX4 b_a1nf) -> m_aX4 b_a1nf) + (ww1_s2gq :: forall a_a1ni. a_a1ni -> m_aX4 a_a1ni) + (w_s2gt + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (ww2_s2gw :: GHC.Types.Float) -> + let { + lvl11_s1Fd [Dmd=Just L] :: m_aX4 GHC.Types.Float + [LclId, Str=DmdType] + lvl11_s1Fd = + w_s2gt @ GHC.Types.Float Data.Data.$fDataFloat ww2_s2gw } in + ww_s2go + @ (GHC.Types.Float -> CompanyDatatypes.Salary) + @ CompanyDatatypes.Salary + (ww1_s2gq + @ (GHC.Types.Float -> CompanyDatatypes.Salary) CompanyDatatypes.S) + (\ (c'_a1og :: GHC.Types.Float -> CompanyDatatypes.Salary) -> + ww_s2go + @ GHC.Types.Float + @ CompanyDatatypes.Salary + lvl11_s1Fd + (\ (x'_a1oh :: GHC.Types.Float) -> + ww1_s2gq @ CompanyDatatypes.Salary (c'_a1og x'_a1oh))) + +CompanyDatatypes.$fDataSalary_$cgmapM [InlPrag=INLINE[0]] + :: forall (m_aX4 :: * -> *). + GHC.Base.Monad m_aX4 => + (forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + -> CompanyDatatypes.Salary -> m_aX4 CompanyDatatypes.Salary +[GblId, + Arity=3, + Str=DmdType U(SALA)LU(L), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapM3, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aX4 :: * -> *)) + (w_s2gm [Occ=Once!] :: GHC.Base.Monad m_aX4) + (w3_s2gt [Occ=Once] + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w4_s2gu [Occ=Once!] :: CompanyDatatypes.Salary) -> + case w_s2gm + of _ + { GHC.Base.D:Monad ww_s2go [Occ=Once] _ ww2_s2gq [Occ=Once] _ -> + case w4_s2gu of _ { CompanyDatatypes.S ww4_s2gw [Occ=Once] -> + CompanyDatatypes.$w$cgmapM3 + @ m_aX4 ww_s2go ww2_s2gq w3_s2gt ww4_s2gw + } + }}] +CompanyDatatypes.$fDataSalary_$cgmapM = + \ (@ (m_aX4 :: * -> *)) + (w_s2gm :: GHC.Base.Monad m_aX4) + (w3_s2gt + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w4_s2gu :: CompanyDatatypes.Salary) -> + case w_s2gm + of _ { GHC.Base.D:Monad ww_s2go ww1_s2gp ww2_s2gq ww3_s2gr -> + case w4_s2gu of _ { CompanyDatatypes.S ww4_s2gw -> + CompanyDatatypes.$w$cgmapM3 + @ m_aX4 ww_s2go ww2_s2gq w3_s2gt ww4_s2gw + } + } + +CompanyDatatypes.$fDataSalary_$cgmapQi + :: forall u_aWW. + GHC.Types.Int + -> (forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + -> CompanyDatatypes.Salary + -> u_aWW +[GblId, + Arity=3, + Str=DmdType U(L)C(C(S))U(L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ u_a1ol) + (i_a1om [Occ=Once!] :: GHC.Types.Int) + (f_a1on [Occ=Once!] + :: forall d_a1oo. Data.Data.Data d_a1oo => d_a1oo -> u_a1ol) + (x_a1op [Occ=Once!] :: CompanyDatatypes.Salary) -> + case x_a1op of _ { CompanyDatatypes.S a22_aS7 [Occ=Once] -> + case i_a1om of _ { GHC.Types.I# x1_a1p2 [Occ=Once!] -> + case x1_a1p2 of _ { + __DEFAULT -> Data.Maybe.fromJust1 @ u_a1ol; + 0 -> f_a1on @ GHC.Types.Float Data.Data.$fDataFloat a22_aS7 + } + } + }}] +CompanyDatatypes.$fDataSalary_$cgmapQi = + \ (@ u_a1ol) + (i_a1om :: GHC.Types.Int) + (f_a1on + :: forall d_a1oo. Data.Data.Data d_a1oo => d_a1oo -> u_a1ol) + (x_a1op :: CompanyDatatypes.Salary) -> + case x_a1op of _ { CompanyDatatypes.S a22_aS7 -> + case i_a1om of _ { GHC.Types.I# x1_a1p2 -> + case x1_a1p2 of _ { + __DEFAULT -> Data.Maybe.fromJust1 @ u_a1ol; + 0 -> f_a1on @ GHC.Types.Float Data.Data.$fDataFloat a22_aS7 + } + } + } + +CompanyDatatypes.$fDataSalary_$cgmapQr + :: forall r_aWE r'_aWF. + (r'_aWF -> r_aWE -> r_aWE) + -> r_aWE + -> (forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + -> CompanyDatatypes.Salary + -> r_aWE +[GblId, + Arity=4, + Str=DmdType C(C(S))LLU(L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ r_a1pQ) + (@ r'_a1pR) + (o_a1pS [Occ=Once!] :: r'_a1pR -> r_a1pQ -> r_a1pQ) + (r0_a1pT [Occ=Once] :: r_a1pQ) + (f_a1pU [Occ=Once!] + :: forall d_a1pV. Data.Data.Data d_a1pV => d_a1pV -> r'_a1pR) + (x0_a1pW [Occ=Once!] :: CompanyDatatypes.Salary) -> + case x0_a1pW of _ { CompanyDatatypes.S a22_aS7 [Occ=Once] -> + o_a1pS + (f_a1pU @ GHC.Types.Float Data.Data.$fDataFloat a22_aS7) r0_a1pT + }}] +CompanyDatatypes.$fDataSalary_$cgmapQr = + \ (@ r_a1pQ) + (@ r'_a1pR) + (o_a1pS :: r'_a1pR -> r_a1pQ -> r_a1pQ) + (r0_a1pT :: r_a1pQ) + (f_a1pU + :: forall d_a1pV. Data.Data.Data d_a1pV => d_a1pV -> r'_a1pR) + (x0_a1pW :: CompanyDatatypes.Salary) -> + case x0_a1pW of _ { CompanyDatatypes.S a22_aS7 -> + o_a1pS + (f_a1pU @ GHC.Types.Float Data.Data.$fDataFloat a22_aS7) r0_a1pT + } + +CompanyDatatypes.$fDataSalary_$cgmapQ + :: forall u_aWO. + (forall d_aWP. Data.Data.Data d_aWP => d_aWP -> u_aWO) + -> CompanyDatatypes.Salary -> [u_aWO] +[GblId, + Arity=2, + Str=DmdType LU(L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ u_a1pL) + (f_a1pM [Occ=Once!] + :: forall d_a1pN. Data.Data.Data d_a1pN => d_a1pN -> u_a1pL) + (eta_B1 [Occ=Once!] :: CompanyDatatypes.Salary) -> + case eta_B1 of _ { CompanyDatatypes.S a22_aS7 [Occ=Once] -> + GHC.Types.: + @ u_a1pL + (f_a1pM @ GHC.Types.Float Data.Data.$fDataFloat a22_aS7) + (GHC.Types.[] @ u_a1pL) + }}] +CompanyDatatypes.$fDataSalary_$cgmapQ = + \ (@ u_a1pL) + (f_a1pM + :: forall d_a1pN. Data.Data.Data d_a1pN => d_a1pN -> u_a1pL) + (eta_B1 :: CompanyDatatypes.Salary) -> + case eta_B1 of _ { CompanyDatatypes.S a22_aS7 -> + GHC.Types.: + @ u_a1pL + (f_a1pM @ GHC.Types.Float Data.Data.$fDataFloat a22_aS7) + (GHC.Types.[] @ u_a1pL) + } + +CompanyDatatypes.$fDataSalary_$cgmapQl + :: forall r_aWu r'_aWv. + (r_aWu -> r'_aWv -> r_aWu) + -> r_aWu + -> (forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + -> CompanyDatatypes.Salary + -> r_aWu +[GblId, + Arity=4, + Str=DmdType C(C(S))LLU(L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ r_a1qt) + (@ r'_a1qu) + (o_a1qv [Occ=Once!] :: r_a1qt -> r'_a1qu -> r_a1qt) + (r_a1qw [Occ=Once] :: r_a1qt) + (f_a1qx [Occ=Once!] + :: forall d_a1qy. Data.Data.Data d_a1qy => d_a1qy -> r'_a1qu) + (eta_B1 [Occ=Once!] :: CompanyDatatypes.Salary) -> + case eta_B1 of _ { CompanyDatatypes.S a22_aS7 [Occ=Once] -> + o_a1qv + r_a1qw (f_a1qx @ GHC.Types.Float Data.Data.$fDataFloat a22_aS7) + }}] +CompanyDatatypes.$fDataSalary_$cgmapQl = + \ (@ r_a1qt) + (@ r'_a1qu) + (o_a1qv :: r_a1qt -> r'_a1qu -> r_a1qt) + (r_a1qw :: r_a1qt) + (f_a1qx + :: forall d_a1qy. Data.Data.Data d_a1qy => d_a1qy -> r'_a1qu) + (eta_B1 :: CompanyDatatypes.Salary) -> + case eta_B1 of _ { CompanyDatatypes.S a22_aS7 -> + o_a1qv + r_a1qw (f_a1qx @ GHC.Types.Float Data.Data.$fDataFloat a22_aS7) + } + +CompanyDatatypes.$fDataSalary_$cgmapT + :: (forall b_aWo. Data.Data.Data b_aWo => b_aWo -> b_aWo) + -> CompanyDatatypes.Salary -> CompanyDatatypes.Salary +[GblId, + Arity=2, + Str=DmdType LU(L)m, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (f_a1r7 [Occ=Once!] + :: forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + (x0_a1r9 [Occ=Once!] :: CompanyDatatypes.Salary) -> + case x0_a1r9 of _ { CompanyDatatypes.S a22_aS7 [Occ=Once] -> + CompanyDatatypes.S + (f_a1r7 @ GHC.Types.Float Data.Data.$fDataFloat a22_aS7) + }}] +CompanyDatatypes.$fDataSalary_$cgmapT = + \ (f_a1r7 + :: forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + (x0_a1r9 :: CompanyDatatypes.Salary) -> + case x0_a1r9 of _ { CompanyDatatypes.S a22_aS7 -> + CompanyDatatypes.S + (f_a1r7 @ GHC.Types.Float Data.Data.$fDataFloat a22_aS7) + } + +CompanyDatatypes.$fDataSalary_$cdataCast2 + :: forall (c_aWc :: * -> *) (t_aWd :: * -> * -> *). + Data.Typeable.Internal.Typeable2 t_aWd => + (forall d_aWe e_aWf. + (Data.Data.Data d_aWe, Data.Data.Data e_aWf) => + c_aWc (t_aWd d_aWe e_aWf)) + -> Data.Maybe.Maybe (c_aWc CompanyDatatypes.Salary) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType AA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_a1rt :: * -> *)) (@ (t_a1ru :: * -> * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rt CompanyDatatypes.Salary)}] +CompanyDatatypes.$fDataSalary_$cdataCast2 = + \ (@ (c_a1rt :: * -> *)) (@ (t_a1ru :: * -> * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rt CompanyDatatypes.Salary) + +CompanyDatatypes.$fDataSalary_$cdataCast1 + :: forall (c_aVp :: * -> *) (t_aVq :: * -> *). + Data.Typeable.Internal.Typeable1 t_aVq => + (forall d_aVr. Data.Data.Data d_aVr => c_aVp (t_aVq d_aVr)) + -> Data.Maybe.Maybe (c_aVp CompanyDatatypes.Salary) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType AA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_a1rB :: * -> *)) (@ (t_a1rC :: * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rB CompanyDatatypes.Salary)}] +CompanyDatatypes.$fDataSalary_$cdataCast1 = + \ (@ (c_a1rB :: * -> *)) (@ (t_a1rC :: * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rB CompanyDatatypes.Salary) + +CompanyDatatypes.$fDataSalary [InlPrag=[ALWAYS] CONLIKE] + :: Data.Data.Data CompanyDatatypes.Salary +[GblId[DFunId], + Str=DmdType, + Unf=DFun(arity=0) Data.Data.D:Data [{CompanyDatatypes.$fTypeableSalary}, + {CompanyDatatypes.$fDataSalary_$cgfoldl}, + {CompanyDatatypes.$fDataSalary_$cgunfold}, + {CompanyDatatypes.$fDataSalary_$ctoConstr}, + {CompanyDatatypes.$fDataSalary_$cdataTypeOf}, + {CompanyDatatypes.$fDataSalary_$cdataCast1}, + {CompanyDatatypes.$fDataSalary_$cdataCast2}, + {CompanyDatatypes.$fDataSalary_$cgmapT}, + {CompanyDatatypes.$fDataSalary_$cgmapQl}, + {CompanyDatatypes.$fDataSalary_$cgmapQr}, + {CompanyDatatypes.$fDataSalary_$cgmapQ}, + {CompanyDatatypes.$fDataSalary_$cgmapQi}, + {CompanyDatatypes.$fDataSalary_$cgmapM}, + {CompanyDatatypes.$fDataSalary_$cgmapMp}, + {CompanyDatatypes.$fDataSalary_$cgmapMo}]] +CompanyDatatypes.$fDataSalary = + Data.Data.D:Data + @ CompanyDatatypes.Salary + (CompanyDatatypes.$fTypeableSalary_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Salary -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Salary)) + CompanyDatatypes.$fDataSalary_$cgfoldl + CompanyDatatypes.$fDataSalary_$cgunfold + CompanyDatatypes.$fDataSalary_$ctoConstr + CompanyDatatypes.$fDataSalary_$cdataTypeOf + CompanyDatatypes.$fDataSalary_$cdataCast1 + CompanyDatatypes.$fDataSalary_$cdataCast2 + CompanyDatatypes.$fDataSalary_$cgmapT + CompanyDatatypes.$fDataSalary_$cgmapQl + CompanyDatatypes.$fDataSalary_$cgmapQr + CompanyDatatypes.$fDataSalary_$cgmapQ + CompanyDatatypes.$fDataSalary_$cgmapQi + CompanyDatatypes.$fDataSalary_$cgmapM + CompanyDatatypes.$fDataSalary_$cgmapMp + CompanyDatatypes.$fDataSalary_$cgmapMo + +CompanyDatatypes.$w$cgfoldl1 + :: forall (c_aV0 :: * -> *). + (forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + -> (forall g_aV3. g_aV3 -> c_aV0 g_aV3) + -> CompanyDatatypes.Person + -> CompanyDatatypes.Salary + -> c_aV0 CompanyDatatypes.Employee +[GblId, + Arity=4, + Str=DmdType C(C(C(S)))LLL, + Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [120 60 0 0] 100 0}] +CompanyDatatypes.$w$cgfoldl1 = + \ (@ (c_aV0 :: * -> *)) + (w_s2gC + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + (w3_s2gD :: forall g_aV3. g_aV3 -> c_aV0 g_aV3) + (ww_s2gG :: CompanyDatatypes.Person) + (ww1_s2gH :: CompanyDatatypes.Salary) -> + w_s2gC + @ CompanyDatatypes.Salary + @ CompanyDatatypes.Employee + CompanyDatatypes.$fDataSalary + (w_s2gC + @ CompanyDatatypes.Person + @ (CompanyDatatypes.Salary -> CompanyDatatypes.Employee) + CompanyDatatypes.$fDataPerson + (w3_s2gD + @ (CompanyDatatypes.Person + -> CompanyDatatypes.Salary -> CompanyDatatypes.Employee) + CompanyDatatypes.E) + ww_s2gG) + ww1_s2gH + +CompanyDatatypes.$fDataEmployee_$cgfoldl [InlPrag=INLINE[0]] + :: forall (c_aV0 :: * -> *). + (forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + -> (forall g_aV3. g_aV3 -> c_aV0 g_aV3) + -> CompanyDatatypes.Employee + -> c_aV0 CompanyDatatypes.Employee +[GblId, + Arity=3, + Str=DmdType C(C(C(S)))LU(LL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgfoldl1, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (c_aV0 :: * -> *)) + (w_s2gC [Occ=Once] + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + (w3_s2gD [Occ=Once] :: forall g_aV3. g_aV3 -> c_aV0 g_aV3) + (w4_s2gE [Occ=Once!] :: CompanyDatatypes.Employee) -> + case w4_s2gE + of _ { CompanyDatatypes.E ww_s2gG [Occ=Once] ww1_s2gH [Occ=Once] -> + CompanyDatatypes.$w$cgfoldl1 + @ c_aV0 w_s2gC w3_s2gD ww_s2gG ww1_s2gH + }}] +CompanyDatatypes.$fDataEmployee_$cgfoldl = + \ (@ (c_aV0 :: * -> *)) + (w_s2gC + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + (w3_s2gD :: forall g_aV3. g_aV3 -> c_aV0 g_aV3) + (w4_s2gE :: CompanyDatatypes.Employee) -> + case w4_s2gE of _ { CompanyDatatypes.E ww_s2gG ww1_s2gH -> + CompanyDatatypes.$w$cgfoldl1 + @ c_aV0 w_s2gC w3_s2gD ww_s2gG ww1_s2gH + } + +CompanyDatatypes.$fDataEmployee_$cgunfold + :: forall (c_aV9 :: * -> *). + (forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + -> (forall r_aVc. r_aVc -> c_aV9 r_aVc) + -> Data.Data.Constr + -> c_aV9 CompanyDatatypes.Employee +[GblId, + Arity=3, + Str=DmdType C(C(S))LA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (c_t25 :: * -> *)) + (k_aSC + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_t25 (b_aVa -> r_aVb) -> c_t25 r_aVb) + (z_aSD [Occ=Once!] :: forall r_aVc. r_aVc -> c_t25 r_aVc) + _ -> + k_aSC + @ CompanyDatatypes.Salary + @ CompanyDatatypes.Employee + CompanyDatatypes.$fDataSalary + (k_aSC + @ CompanyDatatypes.Person + @ (CompanyDatatypes.Salary -> CompanyDatatypes.Employee) + CompanyDatatypes.$fDataPerson + (z_aSD + @ (CompanyDatatypes.Person + -> CompanyDatatypes.Salary -> CompanyDatatypes.Employee) + CompanyDatatypes.E))}] +CompanyDatatypes.$fDataEmployee_$cgunfold = + \ (@ (c_t25 :: * -> *)) + (k_aSC + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_t25 (b_aVa -> r_aVb) -> c_t25 r_aVb) + (z_aSD :: forall r_aVc. r_aVc -> c_t25 r_aVc) + _ -> + k_aSC + @ CompanyDatatypes.Salary + @ CompanyDatatypes.Employee + CompanyDatatypes.$fDataSalary + (k_aSC + @ CompanyDatatypes.Person + @ (CompanyDatatypes.Salary -> CompanyDatatypes.Employee) + CompanyDatatypes.$fDataPerson + (z_aSD + @ (CompanyDatatypes.Person + -> CompanyDatatypes.Salary -> CompanyDatatypes.Employee) + CompanyDatatypes.E)) + +CompanyDatatypes.$fDataEmployee1 + :: (CompanyDatatypes.Person + -> CompanyDatatypes.Salary -> CompanyDatatypes.Employee, + GHC.Types.Bool) +[GblId, + Caf=NoCafRefs, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.$fDataEmployee1 = + (CompanyDatatypes.E, GHC.Types.False) + +CompanyDatatypes.$w$cgmapMo3 + :: forall (m_aY8 :: * -> *). + GHC.Base.Monad m_aY8 => + (forall a_a1nd. m_aY8 a_a1nd) + -> (forall a_a1nc. m_aY8 a_a1nc -> m_aY8 a_a1nc -> m_aY8 a_a1nc) + -> (forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + -> CompanyDatatypes.Employee + -> m_aY8 CompanyDatatypes.Employee +[GblId, + Arity=5, + Str=DmdType SLLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20 0 60 60 20] 580 0}] +CompanyDatatypes.$w$cgmapMo3 = + \ (@ (m_aY8 :: * -> *)) + (ww_s2gV :: GHC.Base.Monad m_aY8) + (ww1_s2gW :: forall a_a1nd. m_aY8 a_a1nd) + (ww2_s2gX + :: forall a_a1nc. m_aY8 a_a1nc -> m_aY8 a_a1nc -> m_aY8 a_a1nc) + (w_s2gZ + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w3_s2h0 :: CompanyDatatypes.Employee) -> + case ww_s2gV + of _ { GHC.Base.D:Monad ww3_s2gL ww4_s2gM ww5_s2gN ww6_s2gO -> + ww3_s2gL + @ (CompanyDatatypes.Employee, GHC.Types.Bool) + @ CompanyDatatypes.Employee + (case w3_s2h0 of _ { CompanyDatatypes.E a22_aSA a23_aSB -> + let { + a24_s1KR + :: forall d_X1xW b_X1xY. + Data.Data.Data d_X1xW => + Data.Data.Mp m_aY8 (d_X1xW -> b_X1xY) + -> d_X1xW -> m_aY8 (b_X1xY, GHC.Types.Bool) + [LclId, Arity=3, Str=DmdType LLL] + a24_s1KR = + \ (@ d_a1mF) + (@ b_a1mG) + ($dData2_a1mH :: Data.Data.Data d_a1mF) + (ds_a1mI :: Data.Data.Mp m_aY8 (d_a1mF -> b_a1mG)) + (y_a1mJ :: d_a1mF) -> + let { + lvl11_s1Fl :: m_aY8 d_a1mF + [LclId, Str=DmdType] + lvl11_s1Fl = w_s2gZ @ d_a1mF $dData2_a1mH y_a1mJ } in + ww3_s2gL + @ (d_a1mF -> b_a1mG, GHC.Types.Bool) + @ (b_a1mG, GHC.Types.Bool) + (ds_a1mI + `cast` ( b_a1mG>> + :: Data.Data.Mp m_aY8 (d_a1mF -> b_a1mG) + ~# + m_aY8 (d_a1mF -> b_a1mG, GHC.Types.Bool))) + (\ (ds1_a1mK :: (d_a1mF -> b_a1mG, GHC.Types.Bool)) -> + case ds1_a1mK of _ { (h_a1mN, b_a1mO) -> + case b_a1mO of _ { + GHC.Types.False -> + ww2_s2gX + @ (b_a1mG, GHC.Types.Bool) + (ww3_s2gL + @ d_a1mF + @ (b_a1mG, GHC.Types.Bool) + lvl11_s1Fl + (\ (y'_a1mT :: d_a1mF) -> + ww5_s2gN + @ (b_a1mG, GHC.Types.Bool) (h_a1mN y'_a1mT, GHC.Types.True))) + (ww5_s2gN + @ (b_a1mG, GHC.Types.Bool) (h_a1mN y_a1mJ, GHC.Types.False)); + GHC.Types.True -> + ww5_s2gN @ (b_a1mG, GHC.Types.Bool) (h_a1mN y_a1mJ, GHC.Types.True) + } + }) } in + a24_s1KR + @ CompanyDatatypes.Salary + @ CompanyDatatypes.Employee + CompanyDatatypes.$fDataSalary + ((a24_s1KR + @ CompanyDatatypes.Person + @ (CompanyDatatypes.Salary -> CompanyDatatypes.Employee) + CompanyDatatypes.$fDataPerson + ((ww5_s2gN + @ (CompanyDatatypes.Person + -> CompanyDatatypes.Salary -> CompanyDatatypes.Employee, + GHC.Types.Bool) + CompanyDatatypes.$fDataEmployee1) + `cast` (Sym + <(Data.Data.NTCo:Mp + + CompanyDatatypes.Salary -> CompanyDatatypes.Employee>)> + :: m_aY8 (CompanyDatatypes.Person + -> CompanyDatatypes.Salary -> CompanyDatatypes.Employee, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aY8 + (CompanyDatatypes.Person + -> CompanyDatatypes.Salary -> CompanyDatatypes.Employee))) + a22_aSA) + `cast` (Sym + <(Data.Data.NTCo:Mp + CompanyDatatypes.Employee>)> + :: m_aY8 (CompanyDatatypes.Salary -> CompanyDatatypes.Employee, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aY8 (CompanyDatatypes.Salary -> CompanyDatatypes.Employee))) + a23_aSB + }) + (\ (ds_a1n1 :: (CompanyDatatypes.Employee, GHC.Types.Bool)) -> + case ds_a1n1 of _ { (x'_a1n4, b_a1n5) -> + case b_a1n5 of _ { + GHC.Types.False -> ww1_s2gW @ CompanyDatatypes.Employee; + GHC.Types.True -> ww5_s2gN @ CompanyDatatypes.Employee x'_a1n4 + } + }) + } + +CompanyDatatypes.$fDataEmployee_$cgmapMo [InlPrag=INLINE[0]] + :: forall (m_aY8 :: * -> *). + Control.Monad.MonadPlus m_aY8 => + (forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + -> CompanyDatatypes.Employee -> m_aY8 CompanyDatatypes.Employee +[GblId, + Arity=3, + Str=DmdType U(SLL)LL, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapMo3, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aY8 :: * -> *)) + (w_s2gT [Occ=Once!] :: Control.Monad.MonadPlus m_aY8) + (w3_s2gZ [Occ=Once] + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w4_s2h0 [Occ=Once] :: CompanyDatatypes.Employee) -> + case w_s2gT + of _ + { Control.Monad.D:MonadPlus ww_s2gV [Occ=Once] + ww1_s2gW [Occ=Once] + ww2_s2gX [Occ=Once] -> + CompanyDatatypes.$w$cgmapMo3 + @ m_aY8 ww_s2gV ww1_s2gW ww2_s2gX w3_s2gZ w4_s2h0 + }}] +CompanyDatatypes.$fDataEmployee_$cgmapMo = + \ (@ (m_aY8 :: * -> *)) + (w_s2gT :: Control.Monad.MonadPlus m_aY8) + (w3_s2gZ + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w4_s2h0 :: CompanyDatatypes.Employee) -> + case w_s2gT + of _ { Control.Monad.D:MonadPlus ww_s2gV ww1_s2gW ww2_s2gX -> + CompanyDatatypes.$w$cgmapMo3 + @ m_aY8 ww_s2gV ww1_s2gW ww2_s2gX w3_s2gZ w4_s2h0 + } + +CompanyDatatypes.$w$cgmapMp4 + :: forall (m_aXe :: * -> *). + GHC.Base.Monad m_aXe => + (forall a_a1nd. m_aXe a_a1nd) + -> (forall a_a1nc. m_aXe a_a1nc -> m_aXe a_a1nc -> m_aXe a_a1nc) + -> (forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + -> CompanyDatatypes.Employee + -> m_aXe CompanyDatatypes.Employee +[GblId, + Arity=5, + Str=DmdType SLLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20 0 60 60 20] 510 0}] +CompanyDatatypes.$w$cgmapMp4 = + \ (@ (m_aXe :: * -> *)) + (ww_s2hd :: GHC.Base.Monad m_aXe) + (ww1_s2he :: forall a_a1nd. m_aXe a_a1nd) + (ww2_s2hf + :: forall a_a1nc. m_aXe a_a1nc -> m_aXe a_a1nc -> m_aXe a_a1nc) + (w_s2hh + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w3_s2hi :: CompanyDatatypes.Employee) -> + case ww_s2hd + of _ { GHC.Base.D:Monad ww3_s2h3 ww4_s2h4 ww5_s2h5 ww6_s2h6 -> + ww3_s2h3 + @ (CompanyDatatypes.Employee, GHC.Types.Bool) + @ CompanyDatatypes.Employee + (case w3_s2hi of _ { CompanyDatatypes.E a22_aSA a23_aSB -> + let { + a24_s1KX + :: forall d_X1yT b_X1yV. + Data.Data.Data d_X1yT => + Data.Data.Mp m_aXe (d_X1yT -> b_X1yV) + -> d_X1yT -> m_aXe (b_X1yV, GHC.Types.Bool) + [LclId, Arity=3, Str=DmdType LLL] + a24_s1KX = + \ (@ d_a1nA) + (@ b_a1nB) + ($dData2_a1nC :: Data.Data.Data d_a1nA) + (ds_a1nD :: Data.Data.Mp m_aXe (d_a1nA -> b_a1nB)) + (y_a1nE :: d_a1nA) -> + let { + lvl11_s1Fn [Dmd=Just L] :: m_aXe d_a1nA + [LclId, Str=DmdType] + lvl11_s1Fn = w_s2hh @ d_a1nA $dData2_a1nC y_a1nE } in + ww3_s2h3 + @ (d_a1nA -> b_a1nB, GHC.Types.Bool) + @ (b_a1nB, GHC.Types.Bool) + (ds_a1nD + `cast` ( b_a1nB>> + :: Data.Data.Mp m_aXe (d_a1nA -> b_a1nB) + ~# + m_aXe (d_a1nA -> b_a1nB, GHC.Types.Bool))) + (\ (ds1_a1nF :: (d_a1nA -> b_a1nB, GHC.Types.Bool)) -> + case ds1_a1nF of _ { (h_a1nI, b_a1nJ) -> + ww2_s2hf + @ (b_a1nB, GHC.Types.Bool) + (ww3_s2h3 + @ d_a1nA + @ (b_a1nB, GHC.Types.Bool) + lvl11_s1Fn + (\ (y'_a1nL :: d_a1nA) -> + ww5_s2h5 + @ (b_a1nB, GHC.Types.Bool) (h_a1nI y'_a1nL, GHC.Types.True))) + (ww5_s2h5 @ (b_a1nB, GHC.Types.Bool) (h_a1nI y_a1nE, b_a1nJ)) + }) } in + a24_s1KX + @ CompanyDatatypes.Salary + @ CompanyDatatypes.Employee + CompanyDatatypes.$fDataSalary + ((a24_s1KX + @ CompanyDatatypes.Person + @ (CompanyDatatypes.Salary -> CompanyDatatypes.Employee) + CompanyDatatypes.$fDataPerson + ((ww5_s2h5 + @ (CompanyDatatypes.Person + -> CompanyDatatypes.Salary -> CompanyDatatypes.Employee, + GHC.Types.Bool) + CompanyDatatypes.$fDataEmployee1) + `cast` (Sym + <(Data.Data.NTCo:Mp + + CompanyDatatypes.Salary -> CompanyDatatypes.Employee>)> + :: m_aXe (CompanyDatatypes.Person + -> CompanyDatatypes.Salary -> CompanyDatatypes.Employee, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aXe + (CompanyDatatypes.Person + -> CompanyDatatypes.Salary -> CompanyDatatypes.Employee))) + a22_aSA) + `cast` (Sym + <(Data.Data.NTCo:Mp + CompanyDatatypes.Employee>)> + :: m_aXe (CompanyDatatypes.Salary -> CompanyDatatypes.Employee, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aXe (CompanyDatatypes.Salary -> CompanyDatatypes.Employee))) + a23_aSB + }) + (\ (ds_a1nR :: (CompanyDatatypes.Employee, GHC.Types.Bool)) -> + case ds_a1nR of _ { (x'_a1nU, b_a1nV) -> + case b_a1nV of _ { + GHC.Types.False -> ww1_s2he @ CompanyDatatypes.Employee; + GHC.Types.True -> ww5_s2h5 @ CompanyDatatypes.Employee x'_a1nU + } + }) + } + +CompanyDatatypes.$fDataEmployee_$cgmapMp [InlPrag=INLINE[0]] + :: forall (m_aXe :: * -> *). + Control.Monad.MonadPlus m_aXe => + (forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + -> CompanyDatatypes.Employee -> m_aXe CompanyDatatypes.Employee +[GblId, + Arity=3, + Str=DmdType U(SLL)LL, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapMp4, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aXe :: * -> *)) + (w_s2hb [Occ=Once!] :: Control.Monad.MonadPlus m_aXe) + (w3_s2hh [Occ=Once] + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w4_s2hi [Occ=Once] :: CompanyDatatypes.Employee) -> + case w_s2hb + of _ + { Control.Monad.D:MonadPlus ww_s2hd [Occ=Once] + ww1_s2he [Occ=Once] + ww2_s2hf [Occ=Once] -> + CompanyDatatypes.$w$cgmapMp4 + @ m_aXe ww_s2hd ww1_s2he ww2_s2hf w3_s2hh w4_s2hi + }}] +CompanyDatatypes.$fDataEmployee_$cgmapMp = + \ (@ (m_aXe :: * -> *)) + (w_s2hb :: Control.Monad.MonadPlus m_aXe) + (w3_s2hh + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w4_s2hi :: CompanyDatatypes.Employee) -> + case w_s2hb + of _ { Control.Monad.D:MonadPlus ww_s2hd ww1_s2he ww2_s2hf -> + CompanyDatatypes.$w$cgmapMp4 + @ m_aXe ww_s2hd ww1_s2he ww2_s2hf w3_s2hh w4_s2hi + } + +CompanyDatatypes.$w$cgmapM4 + :: forall (m_aX4 :: * -> *). + (forall a_a1ne b_a1nf. + m_aX4 a_a1ne -> (a_a1ne -> m_aX4 b_a1nf) -> m_aX4 b_a1nf) + -> (forall a_a1ni. a_a1ni -> m_aX4 a_a1ni) + -> (forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + -> CompanyDatatypes.Person + -> CompanyDatatypes.Salary + -> m_aX4 CompanyDatatypes.Employee +[GblId, + Arity=5, + Str=DmdType SLLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [120 120 60 0 0] 300 0}] +CompanyDatatypes.$w$cgmapM4 = + \ (@ (m_aX4 :: * -> *)) + (ww_s2hp + :: forall a_a1ne b_a1nf. + m_aX4 a_a1ne -> (a_a1ne -> m_aX4 b_a1nf) -> m_aX4 b_a1nf) + (ww1_s2hr :: forall a_a1ni. a_a1ni -> m_aX4 a_a1ni) + (w_s2hu + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (ww2_s2hx :: CompanyDatatypes.Person) + (ww3_s2hy :: CompanyDatatypes.Salary) -> + let { + k_aSy + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + m_aX4 (d_aV1 -> b_aV2) -> d_aV1 -> m_aX4 b_aV2 + [LclId, Arity=3, Str=DmdType LLL] + k_aSy = + \ (@ d_a1ob) + (@ b_a1oc) + ($dData2_a1od :: Data.Data.Data d_a1ob) + (c_a1oe :: m_aX4 (d_a1ob -> b_a1oc)) + (x_a1of :: d_a1ob) -> + let { + lvl11_s1Fo [Dmd=Just L] :: m_aX4 d_a1ob + [LclId, Str=DmdType] + lvl11_s1Fo = w_s2hu @ d_a1ob $dData2_a1od x_a1of } in + ww_s2hp + @ (d_a1ob -> b_a1oc) + @ b_a1oc + c_a1oe + (\ (c'_a1og :: d_a1ob -> b_a1oc) -> + ww_s2hp + @ d_a1ob + @ b_a1oc + lvl11_s1Fo + (\ (x'_a1oh :: d_a1ob) -> + ww1_s2hr @ b_a1oc (c'_a1og x'_a1oh))) } in + k_aSy + @ CompanyDatatypes.Salary + @ CompanyDatatypes.Employee + CompanyDatatypes.$fDataSalary + (k_aSy + @ CompanyDatatypes.Person + @ (CompanyDatatypes.Salary -> CompanyDatatypes.Employee) + CompanyDatatypes.$fDataPerson + (ww1_s2hr + @ (CompanyDatatypes.Person + -> CompanyDatatypes.Salary -> CompanyDatatypes.Employee) + CompanyDatatypes.E) + ww2_s2hx) + ww3_s2hy + +CompanyDatatypes.$fDataEmployee_$cgmapM [InlPrag=INLINE[0]] + :: forall (m_aX4 :: * -> *). + GHC.Base.Monad m_aX4 => + (forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + -> CompanyDatatypes.Employee -> m_aX4 CompanyDatatypes.Employee +[GblId, + Arity=3, + Str=DmdType U(SALA)LU(LL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapM4, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aX4 :: * -> *)) + (w_s2hn [Occ=Once!] :: GHC.Base.Monad m_aX4) + (w3_s2hu [Occ=Once] + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w4_s2hv [Occ=Once!] :: CompanyDatatypes.Employee) -> + case w_s2hn + of _ + { GHC.Base.D:Monad ww_s2hp [Occ=Once] _ ww2_s2hr [Occ=Once] _ -> + case w4_s2hv + of _ + { CompanyDatatypes.E ww4_s2hx [Occ=Once] ww5_s2hy [Occ=Once] -> + CompanyDatatypes.$w$cgmapM4 + @ m_aX4 ww_s2hp ww2_s2hr w3_s2hu ww4_s2hx ww5_s2hy + } + }}] +CompanyDatatypes.$fDataEmployee_$cgmapM = + \ (@ (m_aX4 :: * -> *)) + (w_s2hn :: GHC.Base.Monad m_aX4) + (w3_s2hu + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w4_s2hv :: CompanyDatatypes.Employee) -> + case w_s2hn + of _ { GHC.Base.D:Monad ww_s2hp ww1_s2hq ww2_s2hr ww3_s2hs -> + case w4_s2hv of _ { CompanyDatatypes.E ww4_s2hx ww5_s2hy -> + CompanyDatatypes.$w$cgmapM4 + @ m_aX4 ww_s2hp ww2_s2hr w3_s2hu ww4_s2hx ww5_s2hy + } + } + +CompanyDatatypes.$w$cgmapQi2 + :: forall u_aWW. + GHC.Prim.Int# + -> (forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + -> CompanyDatatypes.Person + -> CompanyDatatypes.Salary + -> u_aWW +[GblId, + Arity=4, + Str=DmdType LC(C(S))LL, + Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [70 120 0 0] 90 0}] +CompanyDatatypes.$w$cgmapQi2 = + \ (@ u_aWW) + (ww_s2hG :: GHC.Prim.Int#) + (w_s2hI :: forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + (ww1_s2hL :: CompanyDatatypes.Person) + (ww2_s2hM :: CompanyDatatypes.Salary) -> + case ww_s2hG of _ { + __DEFAULT -> Data.Maybe.fromJust1 @ u_aWW; + 0 -> + w_s2hI + @ CompanyDatatypes.Person CompanyDatatypes.$fDataPerson ww1_s2hL; + 1 -> + w_s2hI + @ CompanyDatatypes.Salary CompanyDatatypes.$fDataSalary ww2_s2hM + } + +CompanyDatatypes.$fDataEmployee_$cgmapQi [InlPrag=INLINE[0]] + :: forall u_aWW. + GHC.Types.Int + -> (forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + -> CompanyDatatypes.Employee + -> u_aWW +[GblId, + Arity=3, + Str=DmdType U(L)C(C(S))U(LL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapQi2, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ u_aWW) + (w_s2hE [Occ=Once!] :: GHC.Types.Int) + (w3_s2hI [Occ=Once] + :: forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + (w4_s2hJ [Occ=Once!] :: CompanyDatatypes.Employee) -> + case w_s2hE of _ { GHC.Types.I# ww_s2hG [Occ=Once] -> + case w4_s2hJ + of _ + { CompanyDatatypes.E ww1_s2hL [Occ=Once] ww2_s2hM [Occ=Once] -> + CompanyDatatypes.$w$cgmapQi2 + @ u_aWW ww_s2hG w3_s2hI ww1_s2hL ww2_s2hM + } + }}] +CompanyDatatypes.$fDataEmployee_$cgmapQi = + \ (@ u_aWW) + (w_s2hE :: GHC.Types.Int) + (w3_s2hI :: forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + (w4_s2hJ :: CompanyDatatypes.Employee) -> + case w_s2hE of _ { GHC.Types.I# ww_s2hG -> + case w4_s2hJ of _ { CompanyDatatypes.E ww1_s2hL ww2_s2hM -> + CompanyDatatypes.$w$cgmapQi2 + @ u_aWW ww_s2hG w3_s2hI ww1_s2hL ww2_s2hM + } + } + +CompanyDatatypes.$w$cgmapQr2 + :: forall r_aWE r'_aWF. + (r'_aWF -> r_aWE -> r_aWE) + -> r_aWE + -> (forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + -> CompanyDatatypes.Person + -> CompanyDatatypes.Salary + -> r_aWE +[GblId, + Arity=5, + Str=DmdType C(C(S))LLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [60 0 120 0 0] 120 0}] +CompanyDatatypes.$w$cgmapQr2 = + \ (@ r_aWE) + (@ r'_aWF) + (w_s2hT :: r'_aWF -> r_aWE -> r_aWE) + (w3_s2hU :: r_aWE) + (w4_s2hV :: forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + (ww_s2hY :: CompanyDatatypes.Person) + (ww1_s2hZ :: CompanyDatatypes.Salary) -> + w_s2hT + (w4_s2hV + @ CompanyDatatypes.Person CompanyDatatypes.$fDataPerson ww_s2hY) + (w_s2hT + (w4_s2hV + @ CompanyDatatypes.Salary CompanyDatatypes.$fDataSalary ww1_s2hZ) + w3_s2hU) + +CompanyDatatypes.$fDataEmployee_$cgmapQr [InlPrag=INLINE[0]] + :: forall r_aWE r'_aWF. + (r'_aWF -> r_aWE -> r_aWE) + -> r_aWE + -> (forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + -> CompanyDatatypes.Employee + -> r_aWE +[GblId, + Arity=4, + Str=DmdType C(C(S))LLU(LL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapQr2, TopLvl=True, + Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ r_aWE) + (@ r'_aWF) + (w_s2hT [Occ=Once] :: r'_aWF -> r_aWE -> r_aWE) + (w3_s2hU [Occ=Once] :: r_aWE) + (w4_s2hV [Occ=Once] + :: forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + (w5_s2hW [Occ=Once!] :: CompanyDatatypes.Employee) -> + case w5_s2hW + of _ { CompanyDatatypes.E ww_s2hY [Occ=Once] ww1_s2hZ [Occ=Once] -> + CompanyDatatypes.$w$cgmapQr2 + @ r_aWE @ r'_aWF w_s2hT w3_s2hU w4_s2hV ww_s2hY ww1_s2hZ + }}] +CompanyDatatypes.$fDataEmployee_$cgmapQr = + \ (@ r_aWE) + (@ r'_aWF) + (w_s2hT :: r'_aWF -> r_aWE -> r_aWE) + (w3_s2hU :: r_aWE) + (w4_s2hV :: forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + (w5_s2hW :: CompanyDatatypes.Employee) -> + case w5_s2hW of _ { CompanyDatatypes.E ww_s2hY ww1_s2hZ -> + CompanyDatatypes.$w$cgmapQr2 + @ r_aWE @ r'_aWF w_s2hT w3_s2hU w4_s2hV ww_s2hY ww1_s2hZ + } + +CompanyDatatypes.$fDataEmployee_$cgmapQ + :: forall u_aWO. + (forall d_aWP. Data.Data.Data d_aWP => d_aWP -> u_aWO) + -> CompanyDatatypes.Employee -> [u_aWO] +[GblId, + Arity=2, + Str=DmdType LU(LL), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ u_a1pL) + (f_a1pM + :: forall d_a1pN. Data.Data.Data d_a1pN => d_a1pN -> u_a1pL) + (eta_B1 [Occ=Once!] :: CompanyDatatypes.Employee) -> + case eta_B1 + of _ { CompanyDatatypes.E a22_aSA [Occ=Once] a23_aSB [Occ=Once] -> + GHC.Types.: + @ u_a1pL + (f_a1pM + @ CompanyDatatypes.Person CompanyDatatypes.$fDataPerson a22_aSA) + (GHC.Types.: + @ u_a1pL + (f_a1pM + @ CompanyDatatypes.Salary CompanyDatatypes.$fDataSalary a23_aSB) + (GHC.Types.[] @ u_a1pL)) + }}] +CompanyDatatypes.$fDataEmployee_$cgmapQ = + \ (@ u_a1pL) + (f_a1pM + :: forall d_a1pN. Data.Data.Data d_a1pN => d_a1pN -> u_a1pL) + (eta_B1 :: CompanyDatatypes.Employee) -> + case eta_B1 of _ { CompanyDatatypes.E a22_aSA a23_aSB -> + GHC.Types.: + @ u_a1pL + (f_a1pM + @ CompanyDatatypes.Person CompanyDatatypes.$fDataPerson a22_aSA) + (GHC.Types.: + @ u_a1pL + (f_a1pM + @ CompanyDatatypes.Salary CompanyDatatypes.$fDataSalary a23_aSB) + (GHC.Types.[] @ u_a1pL)) + } + +CompanyDatatypes.$w$cgmapQl2 + :: forall r_aWu r'_aWv. + (r_aWu -> r'_aWv -> r_aWu) + -> r_aWu + -> (forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + -> CompanyDatatypes.Person + -> CompanyDatatypes.Salary + -> r_aWu +[GblId, + Arity=5, + Str=DmdType C(C(S))LLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [60 0 120 0 0] 120 0}] +CompanyDatatypes.$w$cgmapQl2 = + \ (@ r_aWu) + (@ r'_aWv) + (w_s2i6 :: r_aWu -> r'_aWv -> r_aWu) + (w3_s2i7 :: r_aWu) + (w4_s2i8 :: forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + (ww_s2ib :: CompanyDatatypes.Person) + (ww1_s2ic :: CompanyDatatypes.Salary) -> + w_s2i6 + (w_s2i6 + w3_s2i7 + (w4_s2i8 + @ CompanyDatatypes.Person CompanyDatatypes.$fDataPerson ww_s2ib)) + (w4_s2i8 + @ CompanyDatatypes.Salary CompanyDatatypes.$fDataSalary ww1_s2ic) + +CompanyDatatypes.$fDataEmployee_$cgmapQl [InlPrag=INLINE[0]] + :: forall r_aWu r'_aWv. + (r_aWu -> r'_aWv -> r_aWu) + -> r_aWu + -> (forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + -> CompanyDatatypes.Employee + -> r_aWu +[GblId, + Arity=4, + Str=DmdType C(C(S))LLU(LL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapQl2, TopLvl=True, + Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ r_aWu) + (@ r'_aWv) + (w_s2i6 [Occ=Once] :: r_aWu -> r'_aWv -> r_aWu) + (w3_s2i7 [Occ=Once] :: r_aWu) + (w4_s2i8 [Occ=Once] + :: forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + (w5_s2i9 [Occ=Once!] :: CompanyDatatypes.Employee) -> + case w5_s2i9 + of _ { CompanyDatatypes.E ww_s2ib [Occ=Once] ww1_s2ic [Occ=Once] -> + CompanyDatatypes.$w$cgmapQl2 + @ r_aWu @ r'_aWv w_s2i6 w3_s2i7 w4_s2i8 ww_s2ib ww1_s2ic + }}] +CompanyDatatypes.$fDataEmployee_$cgmapQl = + \ (@ r_aWu) + (@ r'_aWv) + (w_s2i6 :: r_aWu -> r'_aWv -> r_aWu) + (w3_s2i7 :: r_aWu) + (w4_s2i8 :: forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + (w5_s2i9 :: CompanyDatatypes.Employee) -> + case w5_s2i9 of _ { CompanyDatatypes.E ww_s2ib ww1_s2ic -> + CompanyDatatypes.$w$cgmapQl2 + @ r_aWu @ r'_aWv w_s2i6 w3_s2i7 w4_s2i8 ww_s2ib ww1_s2ic + } + +CompanyDatatypes.$fDataEmployee_$cgmapT + :: (forall b_aWo. Data.Data.Data b_aWo => b_aWo -> b_aWo) + -> CompanyDatatypes.Employee -> CompanyDatatypes.Employee +[GblId, + Arity=2, + Str=DmdType LU(LL)m, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (f_a1r7 + :: forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + (x0_a1r9 [Occ=Once!] :: CompanyDatatypes.Employee) -> + case x0_a1r9 + of _ { CompanyDatatypes.E a22_aSA [Occ=Once] a23_aSB [Occ=Once] -> + CompanyDatatypes.E + (f_a1r7 + @ CompanyDatatypes.Person CompanyDatatypes.$fDataPerson a22_aSA) + (f_a1r7 + @ CompanyDatatypes.Salary CompanyDatatypes.$fDataSalary a23_aSB) + }}] +CompanyDatatypes.$fDataEmployee_$cgmapT = + \ (f_a1r7 + :: forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + (x0_a1r9 :: CompanyDatatypes.Employee) -> + case x0_a1r9 of _ { CompanyDatatypes.E a22_aSA a23_aSB -> + CompanyDatatypes.E + (f_a1r7 + @ CompanyDatatypes.Person CompanyDatatypes.$fDataPerson a22_aSA) + (f_a1r7 + @ CompanyDatatypes.Salary CompanyDatatypes.$fDataSalary a23_aSB) + } + +CompanyDatatypes.$fDataEmployee_$cdataCast2 + :: forall (c_aWc :: * -> *) (t_aWd :: * -> * -> *). + Data.Typeable.Internal.Typeable2 t_aWd => + (forall d_aWe e_aWf. + (Data.Data.Data d_aWe, Data.Data.Data e_aWf) => + c_aWc (t_aWd d_aWe e_aWf)) + -> Data.Maybe.Maybe (c_aWc CompanyDatatypes.Employee) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType AA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_a1rt :: * -> *)) (@ (t_a1ru :: * -> * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rt CompanyDatatypes.Employee)}] +CompanyDatatypes.$fDataEmployee_$cdataCast2 = + \ (@ (c_a1rt :: * -> *)) (@ (t_a1ru :: * -> * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rt CompanyDatatypes.Employee) + +CompanyDatatypes.$fDataEmployee_$cdataCast1 + :: forall (c_aVp :: * -> *) (t_aVq :: * -> *). + Data.Typeable.Internal.Typeable1 t_aVq => + (forall d_aVr. Data.Data.Data d_aVr => c_aVp (t_aVq d_aVr)) + -> Data.Maybe.Maybe (c_aVp CompanyDatatypes.Employee) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType AA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_a1rB :: * -> *)) (@ (t_a1rC :: * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rB CompanyDatatypes.Employee)}] +CompanyDatatypes.$fDataEmployee_$cdataCast1 = + \ (@ (c_a1rB :: * -> *)) (@ (t_a1rC :: * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rB CompanyDatatypes.Employee) + +CompanyDatatypes.$fDataEmployee [InlPrag=[ALWAYS] CONLIKE] + :: Data.Data.Data CompanyDatatypes.Employee +[GblId[DFunId], + Str=DmdType, + Unf=DFun(arity=0) Data.Data.D:Data [{CompanyDatatypes.$fTypeableEmployee}, + {CompanyDatatypes.$fDataEmployee_$cgfoldl}, + {CompanyDatatypes.$fDataEmployee_$cgunfold}, + {CompanyDatatypes.$fDataEmployee_$ctoConstr}, + {CompanyDatatypes.$fDataEmployee_$cdataTypeOf}, + {CompanyDatatypes.$fDataEmployee_$cdataCast1}, + {CompanyDatatypes.$fDataEmployee_$cdataCast2}, + {CompanyDatatypes.$fDataEmployee_$cgmapT}, + {CompanyDatatypes.$fDataEmployee_$cgmapQl}, + {CompanyDatatypes.$fDataEmployee_$cgmapQr}, + {CompanyDatatypes.$fDataEmployee_$cgmapQ}, + {CompanyDatatypes.$fDataEmployee_$cgmapQi}, + {CompanyDatatypes.$fDataEmployee_$cgmapM}, + {CompanyDatatypes.$fDataEmployee_$cgmapMp}, + {CompanyDatatypes.$fDataEmployee_$cgmapMo}]] +CompanyDatatypes.$fDataEmployee = + Data.Data.D:Data + @ CompanyDatatypes.Employee + (CompanyDatatypes.$fTypeableEmployee_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable + )> + :: (CompanyDatatypes.Employee -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Employee)) + CompanyDatatypes.$fDataEmployee_$cgfoldl + CompanyDatatypes.$fDataEmployee_$cgunfold + CompanyDatatypes.$fDataEmployee_$ctoConstr + CompanyDatatypes.$fDataEmployee_$cdataTypeOf + CompanyDatatypes.$fDataEmployee_$cdataCast1 + CompanyDatatypes.$fDataEmployee_$cdataCast2 + CompanyDatatypes.$fDataEmployee_$cgmapT + CompanyDatatypes.$fDataEmployee_$cgmapQl + CompanyDatatypes.$fDataEmployee_$cgmapQr + CompanyDatatypes.$fDataEmployee_$cgmapQ + CompanyDatatypes.$fDataEmployee_$cgmapQi + CompanyDatatypes.$fDataEmployee_$cgmapM + CompanyDatatypes.$fDataEmployee_$cgmapMp + CompanyDatatypes.$fDataEmployee_$cgmapMo + +CompanyDatatypes.$fDataDept1 + :: [CompanyDatatypes.Unit] -> Data.Typeable.Internal.TypeRep +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 30 0}] +CompanyDatatypes.$fDataDept1 = + Data.Typeable.Internal.typeOfDefault + @ [] + @ CompanyDatatypes.Unit + (Data.Typeable.Internal.$fTypeable1[]_$ctypeOf1 + `cast` (Sym <(Data.Typeable.Internal.NTCo:Typeable1 <[]>)> + :: (forall a_a1GP. [a_a1GP] -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable1 [])) + (CompanyDatatypes.$fTypeableUnit_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Unit -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Unit)) + +$dData_r3dT :: Data.Data.Data CompanyDatatypes.Name +[GblId, Str=DmdType] +$dData_r3dT = + Data.Data.$fData[] + @ GHC.Types.Char + (CompanyDatatypes.$fDataPerson2 + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable <[GHC.Types.Char]>)> + :: ([GHC.Types.Char] -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable [GHC.Types.Char])) + Data.Data.$fDataChar + +CompanyDatatypes.$fDataDept_$dData1 + :: Data.Data.Data CompanyDatatypes.Name +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 30 0}] +CompanyDatatypes.$fDataDept_$dData1 = + Data.Data.$fData[] + @ GHC.Types.Char + (CompanyDatatypes.$fDataPerson2 + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable <[GHC.Types.Char]>)> + :: ([GHC.Types.Char] -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable [GHC.Types.Char])) + Data.Data.$fDataChar + +CompanyDatatypes.$fDataDept_$cdataCast2 + :: forall (c_aWc :: * -> *) (t_aWd :: * -> * -> *). + Data.Typeable.Internal.Typeable2 t_aWd => + (forall d_aWe e_aWf. + (Data.Data.Data d_aWe, Data.Data.Data e_aWf) => + c_aWc (t_aWd d_aWe e_aWf)) + -> Data.Maybe.Maybe (c_aWc CompanyDatatypes.Dept) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType AA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_a1rt :: * -> *)) (@ (t_a1ru :: * -> * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rt CompanyDatatypes.Dept)}] +CompanyDatatypes.$fDataDept_$cdataCast2 = + \ (@ (c_a1rt :: * -> *)) (@ (t_a1ru :: * -> * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rt CompanyDatatypes.Dept) + +CompanyDatatypes.$fDataDept_$cdataCast1 + :: forall (c_aVp :: * -> *) (t_aVq :: * -> *). + Data.Typeable.Internal.Typeable1 t_aVq => + (forall d_aVr. Data.Data.Data d_aVr => c_aVp (t_aVq d_aVr)) + -> Data.Maybe.Maybe (c_aVp CompanyDatatypes.Dept) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType AA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_a1rB :: * -> *)) (@ (t_a1rC :: * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rB CompanyDatatypes.Dept)}] +CompanyDatatypes.$fDataDept_$cdataCast1 = + \ (@ (c_a1rB :: * -> *)) (@ (t_a1rC :: * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rB CompanyDatatypes.Dept) + +CompanyDatatypes.$fDataUnit_$cdataCast2 + :: forall (c_aWc :: * -> *) (t_aWd :: * -> * -> *). + Data.Typeable.Internal.Typeable2 t_aWd => + (forall d_aWe e_aWf. + (Data.Data.Data d_aWe, Data.Data.Data e_aWf) => + c_aWc (t_aWd d_aWe e_aWf)) + -> Data.Maybe.Maybe (c_aWc CompanyDatatypes.Unit) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType AA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_a1rt :: * -> *)) (@ (t_a1ru :: * -> * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rt CompanyDatatypes.Unit)}] +CompanyDatatypes.$fDataUnit_$cdataCast2 = + \ (@ (c_a1rt :: * -> *)) (@ (t_a1ru :: * -> * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rt CompanyDatatypes.Unit) + +CompanyDatatypes.$fDataUnit_$cdataCast1 + :: forall (c_aVp :: * -> *) (t_aVq :: * -> *). + Data.Typeable.Internal.Typeable1 t_aVq => + (forall d_aVr. Data.Data.Data d_aVr => c_aVp (t_aVq d_aVr)) + -> Data.Maybe.Maybe (c_aVp CompanyDatatypes.Unit) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType AA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_a1rB :: * -> *)) (@ (t_a1rC :: * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rB CompanyDatatypes.Unit)}] +CompanyDatatypes.$fDataUnit_$cdataCast1 = + \ (@ (c_a1rB :: * -> *)) (@ (t_a1rC :: * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rB CompanyDatatypes.Unit) + +lvl8_r3dU + :: (CompanyDatatypes.Employee -> CompanyDatatypes.Unit, + GHC.Types.Bool) +[GblId, Caf=NoCafRefs] +lvl8_r3dU = (CompanyDatatypes.PU, GHC.Types.False) + +lvl9_r3dV + :: (CompanyDatatypes.Dept -> CompanyDatatypes.Unit, GHC.Types.Bool) +[GblId, Caf=NoCafRefs] +lvl9_r3dV = (CompanyDatatypes.DU, GHC.Types.False) + +lvl10_r3dW + :: (CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Dept, + GHC.Types.Bool) +[GblId, Caf=NoCafRefs] +lvl10_r3dW = (CompanyDatatypes.D, GHC.Types.False) + +Rec { +CompanyDatatypes.$fDataUnit_$cgunfold [InlPrag=INLINE[0]] + :: forall (c_aV9 :: * -> *). + (forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + -> (forall r_aVc. r_aVc -> c_aV9 r_aVc) + -> Data.Data.Constr + -> c_aV9 CompanyDatatypes.Unit +[GblId, + Arity=3, + Str=DmdType C(C(S))LU(SAAAA), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgunfold, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (c_aV9 :: * -> *)) + (w_s2l0 [Occ=Once] + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + (w3_s2l1 [Occ=Once] :: forall r_aVc. r_aVc -> c_aV9 r_aVc) + (w4_s2l2 [Occ=Once!] :: Data.Data.Constr) -> + case w4_s2l2 of _ { Data.Data.Constr ww_s2l4 [Occ=Once] _ _ _ _ -> + CompanyDatatypes.$w$cgunfold @ c_aV9 w_s2l0 w3_s2l1 ww_s2l4 + }}] +CompanyDatatypes.$fDataUnit_$cgunfold = + \ (@ (c_aV9 :: * -> *)) + (w_s2l0 + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + (w3_s2l1 :: forall r_aVc. r_aVc -> c_aV9 r_aVc) + (w4_s2l2 :: Data.Data.Constr) -> + case w4_s2l2 + of _ + { Data.Data.Constr ww_s2l4 ww1_s2l5 ww2_s2l6 ww3_s2l7 ww4_s2l8 -> + CompanyDatatypes.$w$cgunfold @ c_aV9 w_s2l0 w3_s2l1 ww_s2l4 + } + +CompanyDatatypes.$fDataDept_$cgmapMo [InlPrag=INLINE[0]] + :: forall (m_aY8 :: * -> *). + Control.Monad.MonadPlus m_aY8 => + (forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + -> CompanyDatatypes.Dept -> m_aY8 CompanyDatatypes.Dept +[GblId, + Arity=3, + Str=DmdType U(SLL)LL, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapMo1, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aY8 :: * -> *)) + (w_s2lk [Occ=Once!] :: Control.Monad.MonadPlus m_aY8) + (w3_s2lq [Occ=Once] + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w4_s2lr [Occ=Once] :: CompanyDatatypes.Dept) -> + case w_s2lk + of _ + { Control.Monad.D:MonadPlus ww_s2lm [Occ=Once] + ww1_s2ln [Occ=Once] + ww2_s2lo [Occ=Once] -> + CompanyDatatypes.$w$cgmapMo1 + @ m_aY8 ww_s2lm ww1_s2ln ww2_s2lo w3_s2lq w4_s2lr + }}] +CompanyDatatypes.$fDataDept_$cgmapMo = + \ (@ (m_aY8 :: * -> *)) + (w_s2lk :: Control.Monad.MonadPlus m_aY8) + (w3_s2lq + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w4_s2lr :: CompanyDatatypes.Dept) -> + case w_s2lk + of _ { Control.Monad.D:MonadPlus ww_s2lm ww1_s2ln ww2_s2lo -> + CompanyDatatypes.$w$cgmapMo1 + @ m_aY8 ww_s2lm ww1_s2ln ww2_s2lo w3_s2lq w4_s2lr + } + +CompanyDatatypes.$fDataDept_$cgmapMp [InlPrag=INLINE[0]] + :: forall (m_aXe :: * -> *). + Control.Monad.MonadPlus m_aXe => + (forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + -> CompanyDatatypes.Dept -> m_aXe CompanyDatatypes.Dept +[GblId, + Arity=3, + Str=DmdType U(SLL)LL, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapMp, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aXe :: * -> *)) + (w_s2jb [Occ=Once!] :: Control.Monad.MonadPlus m_aXe) + (w3_s2jh [Occ=Once] + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w4_s2ji [Occ=Once] :: CompanyDatatypes.Dept) -> + case w_s2jb + of _ + { Control.Monad.D:MonadPlus ww_s2jd [Occ=Once] + ww1_s2je [Occ=Once] + ww2_s2jf [Occ=Once] -> + CompanyDatatypes.$w$cgmapMp + @ m_aXe ww_s2jd ww1_s2je ww2_s2jf w3_s2jh w4_s2ji + }}] +CompanyDatatypes.$fDataDept_$cgmapMp = + \ (@ (m_aXe :: * -> *)) + (w_s2jb :: Control.Monad.MonadPlus m_aXe) + (w3_s2jh + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w4_s2ji :: CompanyDatatypes.Dept) -> + case w_s2jb + of _ { Control.Monad.D:MonadPlus ww_s2jd ww1_s2je ww2_s2jf -> + CompanyDatatypes.$w$cgmapMp + @ m_aXe ww_s2jd ww1_s2je ww2_s2jf w3_s2jh w4_s2ji + } + +CompanyDatatypes.$fDataDept_$cgmapM [InlPrag=INLINE[0]] + :: forall (m_aX4 :: * -> *). + GHC.Base.Monad m_aX4 => + (forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + -> CompanyDatatypes.Dept -> m_aX4 CompanyDatatypes.Dept +[GblId, + Arity=3, + Str=DmdType U(SALA)LU(LLL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapM, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aX4 :: * -> *)) + (w_s2jn [Occ=Once!] :: GHC.Base.Monad m_aX4) + (w3_s2ju [Occ=Once] + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w4_s2jv [Occ=Once!] :: CompanyDatatypes.Dept) -> + case w_s2jn + of _ + { GHC.Base.D:Monad ww_s2jp [Occ=Once] _ ww2_s2jr [Occ=Once] _ -> + case w4_s2jv + of _ + { CompanyDatatypes.D ww4_s2jx [Occ=Once] + ww5_s2jy [Occ=Once] + ww6_s2jz [Occ=Once] -> + CompanyDatatypes.$w$cgmapM + @ m_aX4 ww_s2jp ww2_s2jr w3_s2ju ww4_s2jx ww5_s2jy ww6_s2jz + } + }}] +CompanyDatatypes.$fDataDept_$cgmapM = + \ (@ (m_aX4 :: * -> *)) + (w_s2jn :: GHC.Base.Monad m_aX4) + (w3_s2ju + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w4_s2jv :: CompanyDatatypes.Dept) -> + case w_s2jn + of _ { GHC.Base.D:Monad ww_s2jp ww1_s2jq ww2_s2jr ww3_s2js -> + case w4_s2jv + of _ { CompanyDatatypes.D ww4_s2jx ww5_s2jy ww6_s2jz -> + CompanyDatatypes.$w$cgmapM + @ m_aX4 ww_s2jp ww2_s2jr w3_s2ju ww4_s2jx ww5_s2jy ww6_s2jz + } + } + +CompanyDatatypes.$fDataDept_$cgmapQi [InlPrag=INLINE[0]] + :: forall u_aWW. + GHC.Types.Int + -> (forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + -> CompanyDatatypes.Dept + -> u_aWW +[GblId, + Arity=3, + Str=DmdType U(L)C(C(S))U(LLL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapQi, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ u_aWW) + (w_s2jF [Occ=Once!] :: GHC.Types.Int) + (w3_s2jJ [Occ=Once] + :: forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + (w4_s2jK [Occ=Once!] :: CompanyDatatypes.Dept) -> + case w_s2jF of _ { GHC.Types.I# ww_s2jH [Occ=Once] -> + case w4_s2jK + of _ + { CompanyDatatypes.D ww1_s2jM [Occ=Once] + ww2_s2jN [Occ=Once] + ww3_s2jO [Occ=Once] -> + CompanyDatatypes.$w$cgmapQi + @ u_aWW ww_s2jH w3_s2jJ ww1_s2jM ww2_s2jN ww3_s2jO + } + }}] +CompanyDatatypes.$fDataDept_$cgmapQi = + \ (@ u_aWW) + (w_s2jF :: GHC.Types.Int) + (w3_s2jJ :: forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + (w4_s2jK :: CompanyDatatypes.Dept) -> + case w_s2jF of _ { GHC.Types.I# ww_s2jH -> + case w4_s2jK + of _ { CompanyDatatypes.D ww1_s2jM ww2_s2jN ww3_s2jO -> + CompanyDatatypes.$w$cgmapQi + @ u_aWW ww_s2jH w3_s2jJ ww1_s2jM ww2_s2jN ww3_s2jO + } + } + +CompanyDatatypes.$fDataDept_$cgmapQ [InlPrag=INLINE[0]] + :: forall u_aWO. + (forall d_aWP. Data.Data.Data d_aWP => d_aWP -> u_aWO) + -> CompanyDatatypes.Dept -> [u_aWO] +[GblId, + Arity=2, + Str=DmdType LU(LLL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapQ, TopLvl=True, + Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ u_aWO) + (w_s2jT [Occ=Once] + :: forall d_aWP. Data.Data.Data d_aWP => d_aWP -> u_aWO) + (w3_s2jU [Occ=Once!] :: CompanyDatatypes.Dept) -> + case w3_s2jU + of _ + { CompanyDatatypes.D ww_s2jW [Occ=Once] + ww1_s2jX [Occ=Once] + ww2_s2jY [Occ=Once] -> + CompanyDatatypes.$w$cgmapQ @ u_aWO w_s2jT ww_s2jW ww1_s2jX ww2_s2jY + }}] +CompanyDatatypes.$fDataDept_$cgmapQ = + \ (@ u_aWO) + (w_s2jT :: forall d_aWP. Data.Data.Data d_aWP => d_aWP -> u_aWO) + (w3_s2jU :: CompanyDatatypes.Dept) -> + case w3_s2jU of _ { CompanyDatatypes.D ww_s2jW ww1_s2jX ww2_s2jY -> + CompanyDatatypes.$w$cgmapQ @ u_aWO w_s2jT ww_s2jW ww1_s2jX ww2_s2jY + } + +CompanyDatatypes.$fDataDept_$cgmapQr [InlPrag=INLINE[0]] + :: forall r_aWE r'_aWF. + (r'_aWF -> r_aWE -> r_aWE) + -> r_aWE + -> (forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + -> CompanyDatatypes.Dept + -> r_aWE +[GblId, + Arity=4, + Str=DmdType C(C(S))LLU(LLL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapQr, TopLvl=True, + Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ r_aWE) + (@ r'_aWF) + (w_s2k5 [Occ=Once] :: r'_aWF -> r_aWE -> r_aWE) + (w3_s2k6 [Occ=Once] :: r_aWE) + (w4_s2k7 [Occ=Once] + :: forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + (w5_s2k8 [Occ=Once!] :: CompanyDatatypes.Dept) -> + case w5_s2k8 + of _ + { CompanyDatatypes.D ww_s2ka [Occ=Once] + ww1_s2kb [Occ=Once] + ww2_s2kc [Occ=Once] -> + CompanyDatatypes.$w$cgmapQr + @ r_aWE @ r'_aWF w_s2k5 w3_s2k6 w4_s2k7 ww_s2ka ww1_s2kb ww2_s2kc + }}] +CompanyDatatypes.$fDataDept_$cgmapQr = + \ (@ r_aWE) + (@ r'_aWF) + (w_s2k5 :: r'_aWF -> r_aWE -> r_aWE) + (w3_s2k6 :: r_aWE) + (w4_s2k7 :: forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + (w5_s2k8 :: CompanyDatatypes.Dept) -> + case w5_s2k8 of _ { CompanyDatatypes.D ww_s2ka ww1_s2kb ww2_s2kc -> + CompanyDatatypes.$w$cgmapQr + @ r_aWE @ r'_aWF w_s2k5 w3_s2k6 w4_s2k7 ww_s2ka ww1_s2kb ww2_s2kc + } + +CompanyDatatypes.$fDataDept_$cgmapQl [InlPrag=INLINE[0]] + :: forall r_aWu r'_aWv. + (r_aWu -> r'_aWv -> r_aWu) + -> r_aWu + -> (forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + -> CompanyDatatypes.Dept + -> r_aWu +[GblId, + Arity=4, + Str=DmdType C(C(S))LLU(LLL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapQl, TopLvl=True, + Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ r_aWu) + (@ r'_aWv) + (w_s2kj [Occ=Once] :: r_aWu -> r'_aWv -> r_aWu) + (w3_s2kk [Occ=Once] :: r_aWu) + (w4_s2kl [Occ=Once] + :: forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + (w5_s2km [Occ=Once!] :: CompanyDatatypes.Dept) -> + case w5_s2km + of _ + { CompanyDatatypes.D ww_s2ko [Occ=Once] + ww1_s2kp [Occ=Once] + ww2_s2kq [Occ=Once] -> + CompanyDatatypes.$w$cgmapQl + @ r_aWu @ r'_aWv w_s2kj w3_s2kk w4_s2kl ww_s2ko ww1_s2kp ww2_s2kq + }}] +CompanyDatatypes.$fDataDept_$cgmapQl = + \ (@ r_aWu) + (@ r'_aWv) + (w_s2kj :: r_aWu -> r'_aWv -> r_aWu) + (w3_s2kk :: r_aWu) + (w4_s2kl :: forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + (w5_s2km :: CompanyDatatypes.Dept) -> + case w5_s2km of _ { CompanyDatatypes.D ww_s2ko ww1_s2kp ww2_s2kq -> + CompanyDatatypes.$w$cgmapQl + @ r_aWu @ r'_aWv w_s2kj w3_s2kk w4_s2kl ww_s2ko ww1_s2kp ww2_s2kq + } + +CompanyDatatypes.$fDataDept_$cgunfold [InlPrag=INLINE[0]] + :: forall (c_aV9 :: * -> *). + (forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + -> (forall r_aVc. r_aVc -> c_aV9 r_aVc) + -> Data.Data.Constr + -> c_aV9 CompanyDatatypes.Dept +[GblId, + Arity=3, + Str=DmdType C(C(S))LA, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgunfold1, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_aV9 :: * -> *)) + (w_s2kH [Occ=Once] + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + (w3_s2kI [Occ=Once] :: forall r_aVc. r_aVc -> c_aV9 r_aVc) + _ -> + CompanyDatatypes.$w$cgunfold1 @ c_aV9 w_s2kH w3_s2kI}] +CompanyDatatypes.$fDataDept_$cgunfold = + \ (@ (c_aV9 :: * -> *)) + (w_s2kH + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + (w3_s2kI :: forall r_aVc. r_aVc -> c_aV9 r_aVc) + _ -> + CompanyDatatypes.$w$cgunfold1 @ c_aV9 w_s2kH w3_s2kI + +CompanyDatatypes.$fDataDept_$cgfoldl [InlPrag=INLINE[0]] + :: forall (c_aV0 :: * -> *). + (forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + -> (forall g_aV3. g_aV3 -> c_aV0 g_aV3) + -> CompanyDatatypes.Dept + -> c_aV0 CompanyDatatypes.Dept +[GblId, + Arity=3, + Str=DmdType C(C(C(S)))LU(LLL), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgfoldl2, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (c_aV0 :: * -> *)) + (w_s2kO [Occ=Once] + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + (w3_s2kP [Occ=Once] :: forall g_aV3. g_aV3 -> c_aV0 g_aV3) + (w4_s2kQ [Occ=Once!] :: CompanyDatatypes.Dept) -> + case w4_s2kQ + of _ + { CompanyDatatypes.D ww_s2kS [Occ=Once] + ww1_s2kT [Occ=Once] + ww2_s2kU [Occ=Once] -> + CompanyDatatypes.$w$cgfoldl2 + @ c_aV0 w_s2kO w3_s2kP ww_s2kS ww1_s2kT ww2_s2kU + }}] +CompanyDatatypes.$fDataDept_$cgfoldl = + \ (@ (c_aV0 :: * -> *)) + (w_s2kO + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + (w3_s2kP :: forall g_aV3. g_aV3 -> c_aV0 g_aV3) + (w4_s2kQ :: CompanyDatatypes.Dept) -> + case w4_s2kQ of _ { CompanyDatatypes.D ww_s2kS ww1_s2kT ww2_s2kU -> + CompanyDatatypes.$w$cgfoldl2 + @ c_aV0 w_s2kO w3_s2kP ww_s2kS ww1_s2kT ww2_s2kU + } + +CompanyDatatypes.$fDataUnit_$cgmapMo [InlPrag=INLINE[0]] + :: forall (m_aY8 :: * -> *). + Control.Monad.MonadPlus m_aY8 => + (forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + -> CompanyDatatypes.Unit -> m_aY8 CompanyDatatypes.Unit +[GblId, + Arity=3, + Str=DmdType U(SLL)LL, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapMo2, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aY8 :: * -> *)) + (w_s2io [Occ=Once!] :: Control.Monad.MonadPlus m_aY8) + (w3_s2iu [Occ=Once] + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w4_s2iv [Occ=Once] :: CompanyDatatypes.Unit) -> + case w_s2io + of _ + { Control.Monad.D:MonadPlus ww_s2iq [Occ=Once] + ww1_s2ir [Occ=Once] + ww2_s2is [Occ=Once] -> + CompanyDatatypes.$w$cgmapMo2 + @ m_aY8 ww_s2iq ww1_s2ir ww2_s2is w3_s2iu w4_s2iv + }}] +CompanyDatatypes.$fDataUnit_$cgmapMo = + \ (@ (m_aY8 :: * -> *)) + (w_s2io :: Control.Monad.MonadPlus m_aY8) + (w3_s2iu + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w4_s2iv :: CompanyDatatypes.Unit) -> + case w_s2io + of _ { Control.Monad.D:MonadPlus ww_s2iq ww1_s2ir ww2_s2is -> + CompanyDatatypes.$w$cgmapMo2 + @ m_aY8 ww_s2iq ww1_s2ir ww2_s2is w3_s2iu w4_s2iv + } + +CompanyDatatypes.$fDataUnit_$cgmapMp [InlPrag=INLINE[0]] + :: forall (m_aXe :: * -> *). + Control.Monad.MonadPlus m_aXe => + (forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + -> CompanyDatatypes.Unit -> m_aXe CompanyDatatypes.Unit +[GblId, + Arity=3, + Str=DmdType U(SLL)LL, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapMp1, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aXe :: * -> *)) + (w_s2iG [Occ=Once!] :: Control.Monad.MonadPlus m_aXe) + (w3_s2iM [Occ=Once] + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w4_s2iN [Occ=Once] :: CompanyDatatypes.Unit) -> + case w_s2iG + of _ + { Control.Monad.D:MonadPlus ww_s2iI [Occ=Once] + ww1_s2iJ [Occ=Once] + ww2_s2iK [Occ=Once] -> + CompanyDatatypes.$w$cgmapMp1 + @ m_aXe ww_s2iI ww1_s2iJ ww2_s2iK w3_s2iM w4_s2iN + }}] +CompanyDatatypes.$fDataUnit_$cgmapMp = + \ (@ (m_aXe :: * -> *)) + (w_s2iG :: Control.Monad.MonadPlus m_aXe) + (w3_s2iM + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w4_s2iN :: CompanyDatatypes.Unit) -> + case w_s2iG + of _ { Control.Monad.D:MonadPlus ww_s2iI ww1_s2iJ ww2_s2iK -> + CompanyDatatypes.$w$cgmapMp1 + @ m_aXe ww_s2iI ww1_s2iJ ww2_s2iK w3_s2iM w4_s2iN + } + +CompanyDatatypes.$fDataUnit_$cgmapM [InlPrag=INLINE[0]] + :: forall (m_aX4 :: * -> *). + GHC.Base.Monad m_aX4 => + (forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + -> CompanyDatatypes.Unit -> m_aX4 CompanyDatatypes.Unit +[GblId, + Arity=3, + Str=DmdType U(SALA)LS, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapM1, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aX4 :: * -> *)) + (w_s2iS [Occ=Once!] :: GHC.Base.Monad m_aX4) + (w3_s2iZ [Occ=Once] + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w4_s2j0 [Occ=Once] :: CompanyDatatypes.Unit) -> + case w_s2iS + of _ + { GHC.Base.D:Monad ww_s2iU [Occ=Once] _ ww2_s2iW [Occ=Once] _ -> + CompanyDatatypes.$w$cgmapM1 + @ m_aX4 ww_s2iU ww2_s2iW w3_s2iZ w4_s2j0 + }}] +CompanyDatatypes.$fDataUnit_$cgmapM = + \ (@ (m_aX4 :: * -> *)) + (w_s2iS :: GHC.Base.Monad m_aX4) + (w3_s2iZ + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w4_s2j0 :: CompanyDatatypes.Unit) -> + case w_s2iS + of _ { GHC.Base.D:Monad ww_s2iU ww1_s2iV ww2_s2iW ww3_s2iX -> + CompanyDatatypes.$w$cgmapM1 + @ m_aX4 ww_s2iU ww2_s2iW w3_s2iZ w4_s2j0 + } + +CompanyDatatypes.$fDataUnit_$cgmapQl + :: forall r_aWu r'_aWv. + (r_aWu -> r'_aWv -> r_aWu) + -> r_aWu + -> (forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + -> CompanyDatatypes.Unit + -> r_aWu +[GblId, + Arity=4, + Str=DmdType C(C(S))LLS, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] +CompanyDatatypes.$fDataUnit_$cgmapQl = + CompanyDatatypes.$fDataUnit1 + `cast` (forall r_a1qt r'_a1qu. + r'_a1qu -> r_a1qt> + -> + -> d_a1qy -> r'_a1qu> + -> + -> > + :: (forall r_a1qt r'_a1qu. + (r_a1qt -> r'_a1qu -> r_a1qt) + -> r_a1qt + -> (forall d_a1qy. Data.Data.Data d_a1qy => d_a1qy -> r'_a1qu) + -> CompanyDatatypes.Unit + -> Data.Data.CONST r_a1qt CompanyDatatypes.Unit) + ~# + (forall r_a1qt r'_a1qu. + (r_a1qt -> r'_a1qu -> r_a1qt) + -> r_a1qt + -> (forall d_a1qy. Data.Data.Data d_a1qy => d_a1qy -> r'_a1qu) + -> CompanyDatatypes.Unit + -> r_a1qt)) + +CompanyDatatypes.$fDataUnit_$cgmapT + :: (forall b_aWo. Data.Data.Data b_aWo => b_aWo -> b_aWo) + -> CompanyDatatypes.Unit -> CompanyDatatypes.Unit +[GblId, + Arity=2, + Str=DmdType LS, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] +CompanyDatatypes.$fDataUnit_$cgmapT = + CompanyDatatypes.$fDataUnit2 + `cast` ( b_a1r8 -> b_a1r8> + -> + -> > + :: ((forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + -> CompanyDatatypes.Unit -> Data.Data.ID CompanyDatatypes.Unit) + ~# + ((forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + -> CompanyDatatypes.Unit -> CompanyDatatypes.Unit)) + +CompanyDatatypes.$fDataUnit [InlPrag=[ALWAYS] CONLIKE] + :: Data.Data.Data CompanyDatatypes.Unit +[GblId[DFunId], + Str=DmdType, + Unf=DFun(arity=0) Data.Data.D:Data [{CompanyDatatypes.$fTypeableUnit}, + {CompanyDatatypes.$fDataUnit_$cgfoldl}, + {CompanyDatatypes.$fDataUnit_$cgunfold}, + {CompanyDatatypes.$fDataUnit_$ctoConstr}, + {CompanyDatatypes.$fDataUnit_$cdataTypeOf}, + {CompanyDatatypes.$fDataUnit_$cdataCast1}, + {CompanyDatatypes.$fDataUnit_$cdataCast2}, + {CompanyDatatypes.$fDataUnit_$cgmapT}, + {CompanyDatatypes.$fDataUnit_$cgmapQl}, + {CompanyDatatypes.$fDataUnit_$cgmapQr}, + {CompanyDatatypes.$fDataUnit_$cgmapQ}, + {CompanyDatatypes.$fDataUnit_$cgmapQi}, + {CompanyDatatypes.$fDataUnit_$cgmapM}, + {CompanyDatatypes.$fDataUnit_$cgmapMp}, + {CompanyDatatypes.$fDataUnit_$cgmapMo}]] +CompanyDatatypes.$fDataUnit = + Data.Data.D:Data + @ CompanyDatatypes.Unit + (CompanyDatatypes.$fTypeableUnit_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Unit -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Unit)) + CompanyDatatypes.$fDataUnit_$cgfoldl + CompanyDatatypes.$fDataUnit_$cgunfold + CompanyDatatypes.$fDataUnit_$ctoConstr + CompanyDatatypes.$fDataUnit_$cdataTypeOf + CompanyDatatypes.$fDataUnit_$cdataCast1 + CompanyDatatypes.$fDataUnit_$cdataCast2 + (CompanyDatatypes.$fDataUnit2 + `cast` ( b_a1r8 -> b_a1r8> + -> + -> > + :: ((forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + -> CompanyDatatypes.Unit -> Data.Data.ID CompanyDatatypes.Unit) + ~# + ((forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + -> CompanyDatatypes.Unit -> CompanyDatatypes.Unit))) + (CompanyDatatypes.$fDataUnit1 + `cast` (forall r_X1Cv r'_X1Cx. + r'_X1Cx -> r_X1Cv> + -> + -> d_a1qy -> r'_X1Cx> + -> + -> > + :: (forall r_X1Cv r'_X1Cx. + (r_X1Cv -> r'_X1Cx -> r_X1Cv) + -> r_X1Cv + -> (forall d_a1qy. Data.Data.Data d_a1qy => d_a1qy -> r'_X1Cx) + -> CompanyDatatypes.Unit + -> Data.Data.CONST r_X1Cv CompanyDatatypes.Unit) + ~# + (forall r_X1Cv r'_X1Cx. + (r_X1Cv -> r'_X1Cx -> r_X1Cv) + -> r_X1Cv + -> (forall d_a1qy. Data.Data.Data d_a1qy => d_a1qy -> r'_X1Cx) + -> CompanyDatatypes.Unit + -> r_X1Cv))) + CompanyDatatypes.$fDataUnit_$cgmapQr + CompanyDatatypes.$fDataUnit_$cgmapQ + CompanyDatatypes.$fDataUnit_$cgmapQi + CompanyDatatypes.$fDataUnit_$cgmapM + CompanyDatatypes.$fDataUnit_$cgmapMp + CompanyDatatypes.$fDataUnit_$cgmapMo + +CompanyDatatypes.$fDataDept_$dData + :: Data.Data.Data [CompanyDatatypes.Unit] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 30 0}] +CompanyDatatypes.$fDataDept_$dData = + Data.Data.$fData[] + @ CompanyDatatypes.Unit + (CompanyDatatypes.$fDataDept1 + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable <[CompanyDatatypes.Unit]>)> + :: ([CompanyDatatypes.Unit] -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable [CompanyDatatypes.Unit])) + CompanyDatatypes.$fDataUnit + +CompanyDatatypes.$fDataDept_$cgmapT [InlPrag=INLINE[0]] + :: (forall b_aWo. Data.Data.Data b_aWo => b_aWo -> b_aWo) + -> CompanyDatatypes.Dept -> CompanyDatatypes.Dept +[GblId, + Arity=2, + Str=DmdType LU(LLL)m, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (w_s2kv + :: forall b_aWo. Data.Data.Data b_aWo => b_aWo -> b_aWo) + (w3_s2kw [Occ=Once!] :: CompanyDatatypes.Dept) -> + case w3_s2kw + of _ + { CompanyDatatypes.D ww_s2ky [Occ=Once] + ww1_s2kz [Occ=Once] + ww2_s2kA [Occ=Once] -> + CompanyDatatypes.D + (w_s2kv + @ CompanyDatatypes.Name + CompanyDatatypes.$fDataDept_$dData1 + ww_s2ky) + (w_s2kv + @ CompanyDatatypes.Manager + CompanyDatatypes.$fDataEmployee + ww1_s2kz) + (w_s2kv + @ [CompanyDatatypes.Unit] + CompanyDatatypes.$fDataDept_$dData + ww2_s2kA) + }}] +CompanyDatatypes.$fDataDept_$cgmapT = + \ (w_s2kv :: forall b_aWo. Data.Data.Data b_aWo => b_aWo -> b_aWo) + (w3_s2kw :: CompanyDatatypes.Dept) -> + case w3_s2kw of _ { CompanyDatatypes.D ww_s2ky ww1_s2kz ww2_s2kA -> + CompanyDatatypes.D + (w_s2kv + @ CompanyDatatypes.Name + CompanyDatatypes.$fDataDept_$dData1 + ww_s2ky) + (w_s2kv + @ CompanyDatatypes.Manager + CompanyDatatypes.$fDataEmployee + ww1_s2kz) + (w_s2kv + @ [CompanyDatatypes.Unit] + CompanyDatatypes.$fDataDept_$dData + ww2_s2kA) + } + +CompanyDatatypes.$fDataDept [InlPrag=[ALWAYS] CONLIKE] + :: Data.Data.Data CompanyDatatypes.Dept +[GblId[DFunId], + Str=DmdType, + Unf=DFun(arity=0) Data.Data.D:Data [{CompanyDatatypes.$fTypeableDept}, + {CompanyDatatypes.$fDataDept_$cgfoldl}, + {CompanyDatatypes.$fDataDept_$cgunfold}, + {CompanyDatatypes.$fDataDept_$ctoConstr}, + {CompanyDatatypes.$fDataDept_$cdataTypeOf}, + {CompanyDatatypes.$fDataDept_$cdataCast1}, + {CompanyDatatypes.$fDataDept_$cdataCast2}, + {CompanyDatatypes.$fDataDept_$cgmapT}, + {CompanyDatatypes.$fDataDept_$cgmapQl}, + {CompanyDatatypes.$fDataDept_$cgmapQr}, + {CompanyDatatypes.$fDataDept_$cgmapQ}, + {CompanyDatatypes.$fDataDept_$cgmapQi}, + {CompanyDatatypes.$fDataDept_$cgmapM}, + {CompanyDatatypes.$fDataDept_$cgmapMp}, + {CompanyDatatypes.$fDataDept_$cgmapMo}]] +CompanyDatatypes.$fDataDept = + Data.Data.D:Data + @ CompanyDatatypes.Dept + (CompanyDatatypes.$fTypeableDept_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Dept -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Dept)) + CompanyDatatypes.$fDataDept_$cgfoldl + CompanyDatatypes.$fDataDept_$cgunfold + CompanyDatatypes.$fDataDept_$ctoConstr + CompanyDatatypes.$fDataDept_$cdataTypeOf + CompanyDatatypes.$fDataDept_$cdataCast1 + CompanyDatatypes.$fDataDept_$cdataCast2 + CompanyDatatypes.$fDataDept_$cgmapT + CompanyDatatypes.$fDataDept_$cgmapQl + CompanyDatatypes.$fDataDept_$cgmapQr + CompanyDatatypes.$fDataDept_$cgmapQ + CompanyDatatypes.$fDataDept_$cgmapQi + CompanyDatatypes.$fDataDept_$cgmapM + CompanyDatatypes.$fDataDept_$cgmapMp + CompanyDatatypes.$fDataDept_$cgmapMo + +$dData1_r3dX :: Data.Data.Data [CompanyDatatypes.Unit] +[GblId, Str=DmdType] +$dData1_r3dX = + Data.Data.$fData[] + @ CompanyDatatypes.Unit + (CompanyDatatypes.$fDataDept1 + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable <[CompanyDatatypes.Unit]>)> + :: ([CompanyDatatypes.Unit] -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable [CompanyDatatypes.Unit])) + CompanyDatatypes.$fDataUnit + +CompanyDatatypes.$w$cgmapMo2 [Occ=LoopBreaker] + :: forall (m_aY8 :: * -> *). + GHC.Base.Monad m_aY8 => + (forall a_a1nd. m_aY8 a_a1nd) + -> (forall a_a1nc. m_aY8 a_a1nc -> m_aY8 a_a1nc -> m_aY8 a_a1nc) + -> (forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + -> CompanyDatatypes.Unit + -> m_aY8 CompanyDatatypes.Unit +[GblId, Arity=5, Str=DmdType SLLLL] +CompanyDatatypes.$w$cgmapMo2 = + \ (@ (m_aY8 :: * -> *)) + (ww_s2iq :: GHC.Base.Monad m_aY8) + (ww1_s2ir :: forall a_a1nd. m_aY8 a_a1nd) + (ww2_s2is + :: forall a_a1nc. m_aY8 a_a1nc -> m_aY8 a_a1nc -> m_aY8 a_a1nc) + (w_s2iu + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w3_s2iv :: CompanyDatatypes.Unit) -> + case ww_s2iq + of _ { GHC.Base.D:Monad ww3_s2ig ww4_s2ih ww5_s2ii ww6_s2ij -> + ww3_s2ig + @ (CompanyDatatypes.Unit, GHC.Types.Bool) + @ CompanyDatatypes.Unit + (let { + a22_s2tD + :: forall d_a1mF b_a1mG. + Data.Data.Data d_a1mF => + Data.Data.Mp m_aY8 (d_a1mF -> b_a1mG) + -> d_a1mF -> m_aY8 (b_a1mG, GHC.Types.Bool) + [LclId, Arity=3] + a22_s2tD = + \ (@ d_a1mF) + (@ b_a1mG) + ($dData2_a1mH :: Data.Data.Data d_a1mF) + (ds_a1mI :: Data.Data.Mp m_aY8 (d_a1mF -> b_a1mG)) + (y_a1mJ :: d_a1mF) -> + let { + lvl11_s1Fw :: m_aY8 d_a1mF + [LclId, Str=DmdType] + lvl11_s1Fw = w_s2iu @ d_a1mF $dData2_a1mH y_a1mJ } in + ww3_s2ig + @ (d_a1mF -> b_a1mG, GHC.Types.Bool) + @ (b_a1mG, GHC.Types.Bool) + (ds_a1mI + `cast` ( b_a1mG>> + :: Data.Data.Mp m_aY8 (d_a1mF -> b_a1mG) + ~# + m_aY8 (d_a1mF -> b_a1mG, GHC.Types.Bool))) + (\ (ds1_a1mK :: (d_a1mF -> b_a1mG, GHC.Types.Bool)) -> + case ds1_a1mK of _ { (h_a1mN, b_a1mO) -> + case b_a1mO of _ { + GHC.Types.False -> + ww2_s2is + @ (b_a1mG, GHC.Types.Bool) + (ww3_s2ig + @ d_a1mF + @ (b_a1mG, GHC.Types.Bool) + lvl11_s1Fw + (\ (y'_a1mT :: d_a1mF) -> + ww5_s2ii + @ (b_a1mG, GHC.Types.Bool) (h_a1mN y'_a1mT, GHC.Types.True))) + (ww5_s2ii + @ (b_a1mG, GHC.Types.Bool) (h_a1mN y_a1mJ, GHC.Types.False)); + GHC.Types.True -> + ww5_s2ii @ (b_a1mG, GHC.Types.Bool) (h_a1mN y_a1mJ, GHC.Types.True) + } + }) } in + case w3_s2iv of _ { + CompanyDatatypes.PU a23_aSQ -> + a22_s2tD + @ CompanyDatatypes.Employee + @ CompanyDatatypes.Unit + CompanyDatatypes.$fDataEmployee + ((ww5_s2ii + @ (CompanyDatatypes.Employee -> CompanyDatatypes.Unit, + GHC.Types.Bool) + lvl8_r3dU) + `cast` (Sym + <(Data.Data.NTCo:Mp + CompanyDatatypes.Unit>)> + :: m_aY8 (CompanyDatatypes.Employee -> CompanyDatatypes.Unit, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aY8 (CompanyDatatypes.Employee -> CompanyDatatypes.Unit))) + a23_aSQ; + CompanyDatatypes.DU a23_aST -> + a22_s2tD + @ CompanyDatatypes.Dept + @ CompanyDatatypes.Unit + CompanyDatatypes.$fDataDept + ((ww5_s2ii + @ (CompanyDatatypes.Dept -> CompanyDatatypes.Unit, GHC.Types.Bool) + lvl9_r3dV) + `cast` (Sym + <(Data.Data.NTCo:Mp + CompanyDatatypes.Unit>)> + :: m_aY8 (CompanyDatatypes.Dept -> CompanyDatatypes.Unit, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aY8 (CompanyDatatypes.Dept -> CompanyDatatypes.Unit))) + a23_aST + }) + (\ (ds_a1n1 :: (CompanyDatatypes.Unit, GHC.Types.Bool)) -> + case ds_a1n1 of _ { (x'_a1n4, b_a1n5) -> + case b_a1n5 of _ { + GHC.Types.False -> ww1_s2ir @ CompanyDatatypes.Unit; + GHC.Types.True -> ww5_s2ii @ CompanyDatatypes.Unit x'_a1n4 + } + }) + } + +CompanyDatatypes.$w$cgmapMp1 [Occ=LoopBreaker] + :: forall (m_aXe :: * -> *). + GHC.Base.Monad m_aXe => + (forall a_a1nd. m_aXe a_a1nd) + -> (forall a_a1nc. m_aXe a_a1nc -> m_aXe a_a1nc -> m_aXe a_a1nc) + -> (forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + -> CompanyDatatypes.Unit + -> m_aXe CompanyDatatypes.Unit +[GblId, Arity=5, Str=DmdType SLLLL] +CompanyDatatypes.$w$cgmapMp1 = + \ (@ (m_aXe :: * -> *)) + (ww_s2iI :: GHC.Base.Monad m_aXe) + (ww1_s2iJ :: forall a_a1nd. m_aXe a_a1nd) + (ww2_s2iK + :: forall a_a1nc. m_aXe a_a1nc -> m_aXe a_a1nc -> m_aXe a_a1nc) + (w_s2iM + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w3_s2iN :: CompanyDatatypes.Unit) -> + case ww_s2iI + of _ { GHC.Base.D:Monad ww3_s2iy ww4_s2iz ww5_s2iA ww6_s2iB -> + ww3_s2iy + @ (CompanyDatatypes.Unit, GHC.Types.Bool) + @ CompanyDatatypes.Unit + (let { + a22_s2tQ + :: forall d_a1nA b_a1nB. + Data.Data.Data d_a1nA => + Data.Data.Mp m_aXe (d_a1nA -> b_a1nB) + -> d_a1nA -> m_aXe (b_a1nB, GHC.Types.Bool) + [LclId, Arity=3] + a22_s2tQ = + \ (@ d_a1nA) + (@ b_a1nB) + ($dData2_a1nC :: Data.Data.Data d_a1nA) + (ds_a1nD :: Data.Data.Mp m_aXe (d_a1nA -> b_a1nB)) + (y_a1nE :: d_a1nA) -> + let { + lvl11_s1Fy [Dmd=Just L] :: m_aXe d_a1nA + [LclId, Str=DmdType] + lvl11_s1Fy = w_s2iM @ d_a1nA $dData2_a1nC y_a1nE } in + ww3_s2iy + @ (d_a1nA -> b_a1nB, GHC.Types.Bool) + @ (b_a1nB, GHC.Types.Bool) + (ds_a1nD + `cast` ( b_a1nB>> + :: Data.Data.Mp m_aXe (d_a1nA -> b_a1nB) + ~# + m_aXe (d_a1nA -> b_a1nB, GHC.Types.Bool))) + (\ (ds1_a1nF :: (d_a1nA -> b_a1nB, GHC.Types.Bool)) -> + case ds1_a1nF of _ { (h_a1nI, b_a1nJ) -> + ww2_s2iK + @ (b_a1nB, GHC.Types.Bool) + (ww3_s2iy + @ d_a1nA + @ (b_a1nB, GHC.Types.Bool) + lvl11_s1Fy + (\ (y'_a1nL :: d_a1nA) -> + ww5_s2iA + @ (b_a1nB, GHC.Types.Bool) (h_a1nI y'_a1nL, GHC.Types.True))) + (ww5_s2iA @ (b_a1nB, GHC.Types.Bool) (h_a1nI y_a1nE, b_a1nJ)) + }) } in + case w3_s2iN of _ { + CompanyDatatypes.PU a23_aSQ -> + a22_s2tQ + @ CompanyDatatypes.Employee + @ CompanyDatatypes.Unit + CompanyDatatypes.$fDataEmployee + ((ww5_s2iA + @ (CompanyDatatypes.Employee -> CompanyDatatypes.Unit, + GHC.Types.Bool) + lvl8_r3dU) + `cast` (Sym + <(Data.Data.NTCo:Mp + CompanyDatatypes.Unit>)> + :: m_aXe (CompanyDatatypes.Employee -> CompanyDatatypes.Unit, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aXe (CompanyDatatypes.Employee -> CompanyDatatypes.Unit))) + a23_aSQ; + CompanyDatatypes.DU a23_aST -> + a22_s2tQ + @ CompanyDatatypes.Dept + @ CompanyDatatypes.Unit + CompanyDatatypes.$fDataDept + ((ww5_s2iA + @ (CompanyDatatypes.Dept -> CompanyDatatypes.Unit, GHC.Types.Bool) + lvl9_r3dV) + `cast` (Sym + <(Data.Data.NTCo:Mp + CompanyDatatypes.Unit>)> + :: m_aXe (CompanyDatatypes.Dept -> CompanyDatatypes.Unit, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aXe (CompanyDatatypes.Dept -> CompanyDatatypes.Unit))) + a23_aST + }) + (\ (ds_a1nR :: (CompanyDatatypes.Unit, GHC.Types.Bool)) -> + case ds_a1nR of _ { (x'_a1nU, b_a1nV) -> + case b_a1nV of _ { + GHC.Types.False -> ww1_s2iJ @ CompanyDatatypes.Unit; + GHC.Types.True -> ww5_s2iA @ CompanyDatatypes.Unit x'_a1nU + } + }) + } + +CompanyDatatypes.$w$cgmapM1 [Occ=LoopBreaker] + :: forall (m_aX4 :: * -> *). + (forall a_a1ne b_a1nf. + m_aX4 a_a1ne -> (a_a1ne -> m_aX4 b_a1nf) -> m_aX4 b_a1nf) + -> (forall a_a1ni. a_a1ni -> m_aX4 a_a1ni) + -> (forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + -> CompanyDatatypes.Unit + -> m_aX4 CompanyDatatypes.Unit +[GblId, Arity=4, Str=DmdType SLLS] +CompanyDatatypes.$w$cgmapM1 = + \ (@ (m_aX4 :: * -> *)) + (ww_s2iU + :: forall a_a1ne b_a1nf. + m_aX4 a_a1ne -> (a_a1ne -> m_aX4 b_a1nf) -> m_aX4 b_a1nf) + (ww1_s2iW :: forall a_a1ni. a_a1ni -> m_aX4 a_a1ni) + (w_s2iZ + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w3_s2j0 :: CompanyDatatypes.Unit) -> + let { + k_aSO + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + m_aX4 (d_aV1 -> b_aV2) -> d_aV1 -> m_aX4 b_aV2 + [LclId, Arity=3] + k_aSO = + \ (@ d_a1ob) + (@ b_a1oc) + ($dData2_a1od :: Data.Data.Data d_a1ob) + (c_a1oe :: m_aX4 (d_a1ob -> b_a1oc)) + (x_a1of :: d_a1ob) -> + let { + lvl11_s1Fz [Dmd=Just L] :: m_aX4 d_a1ob + [LclId, Str=DmdType] + lvl11_s1Fz = w_s2iZ @ d_a1ob $dData2_a1od x_a1of } in + ww_s2iU + @ (d_a1ob -> b_a1oc) + @ b_a1oc + c_a1oe + (\ (c'_a1og :: d_a1ob -> b_a1oc) -> + ww_s2iU + @ d_a1ob + @ b_a1oc + lvl11_s1Fz + (\ (x'_a1oh :: d_a1ob) -> + ww1_s2iW @ b_a1oc (c'_a1og x'_a1oh))) } in + case w3_s2j0 of _ { + CompanyDatatypes.PU a22_aSQ -> + k_aSO + @ CompanyDatatypes.Employee + @ CompanyDatatypes.Unit + CompanyDatatypes.$fDataEmployee + (ww1_s2iW + @ (CompanyDatatypes.Employee -> CompanyDatatypes.Unit) + CompanyDatatypes.PU) + a22_aSQ; + CompanyDatatypes.DU a22_aST -> + k_aSO + @ CompanyDatatypes.Dept + @ CompanyDatatypes.Unit + CompanyDatatypes.$fDataDept + (ww1_s2iW + @ (CompanyDatatypes.Dept -> CompanyDatatypes.Unit) + CompanyDatatypes.DU) + a22_aST + } + +CompanyDatatypes.$fDataUnit_$cgmapQi [Occ=LoopBreaker] + :: forall u_aWW. + GHC.Types.Int + -> (forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + -> CompanyDatatypes.Unit + -> u_aWW +[GblId, Arity=3, Str=DmdType LLS] +CompanyDatatypes.$fDataUnit_$cgmapQi = + \ (@ u_a1ol) + (i_a1om :: GHC.Types.Int) + (f_a1on + :: forall d_a1oo. Data.Data.Data d_a1oo => d_a1oo -> u_a1ol) + (x_a1op :: CompanyDatatypes.Unit) -> + case x_a1op of _ { + CompanyDatatypes.PU a22_aSQ -> + case i_a1om of _ { GHC.Types.I# x1_a1p2 -> + case x1_a1p2 of _ { + __DEFAULT -> Data.Maybe.fromJust1 @ u_a1ol; + 0 -> + f_a1on + @ CompanyDatatypes.Employee CompanyDatatypes.$fDataEmployee a22_aSQ + } + }; + CompanyDatatypes.DU a22_aST -> + case i_a1om of _ { GHC.Types.I# x1_a1p2 -> + case x1_a1p2 of _ { + __DEFAULT -> Data.Maybe.fromJust1 @ u_a1ol; + 0 -> + f_a1on @ CompanyDatatypes.Dept CompanyDatatypes.$fDataDept a22_aST + } + } + } + +CompanyDatatypes.$fDataUnit_$cgmapQ [Occ=LoopBreaker] + :: forall u_aWO. + (forall d_aWP. Data.Data.Data d_aWP => d_aWP -> u_aWO) + -> CompanyDatatypes.Unit -> [u_aWO] +[GblId, Arity=2, Str=DmdType LS] +CompanyDatatypes.$fDataUnit_$cgmapQ = + \ (@ u_a1pL) + (f_a1pM + :: forall d_a1pN. Data.Data.Data d_a1pN => d_a1pN -> u_a1pL) + (eta_B1 :: CompanyDatatypes.Unit) -> + case eta_B1 of _ { + CompanyDatatypes.PU a22_aSQ -> + GHC.Types.: + @ u_a1pL + (f_a1pM + @ CompanyDatatypes.Employee + CompanyDatatypes.$fDataEmployee + a22_aSQ) + (GHC.Types.[] @ u_a1pL); + CompanyDatatypes.DU a22_aST -> + GHC.Types.: + @ u_a1pL + (f_a1pM + @ CompanyDatatypes.Dept CompanyDatatypes.$fDataDept a22_aST) + (GHC.Types.[] @ u_a1pL) + } + +CompanyDatatypes.$fDataUnit_$cgmapQr [Occ=LoopBreaker] + :: forall r_aWE r'_aWF. + (r'_aWF -> r_aWE -> r_aWE) + -> r_aWE + -> (forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + -> CompanyDatatypes.Unit + -> r_aWE +[GblId, Arity=4, Str=DmdType LLLS] +CompanyDatatypes.$fDataUnit_$cgmapQr = + \ (@ r_a1pQ) + (@ r'_a1pR) + (o_a1pS :: r'_a1pR -> r_a1pQ -> r_a1pQ) + (r0_a1pT :: r_a1pQ) + (f_a1pU + :: forall d_a1pV. Data.Data.Data d_a1pV => d_a1pV -> r'_a1pR) + (x0_a1pW :: CompanyDatatypes.Unit) -> + case x0_a1pW of _ { + CompanyDatatypes.PU a22_aSQ -> + o_a1pS + (f_a1pU + @ CompanyDatatypes.Employee + CompanyDatatypes.$fDataEmployee + a22_aSQ) + r0_a1pT; + CompanyDatatypes.DU a22_aST -> + o_a1pS + (f_a1pU + @ CompanyDatatypes.Dept CompanyDatatypes.$fDataDept a22_aST) + r0_a1pT + } + +CompanyDatatypes.$fDataUnit1 [Occ=LoopBreaker] + :: forall r_a1qt r'_a1qu. + (r_a1qt -> r'_a1qu -> r_a1qt) + -> r_a1qt + -> (forall d_a1qy. Data.Data.Data d_a1qy => d_a1qy -> r'_a1qu) + -> CompanyDatatypes.Unit + -> Data.Data.CONST r_a1qt CompanyDatatypes.Unit +[GblId, Arity=4, Str=DmdType C(C(S))LLS] +CompanyDatatypes.$fDataUnit1 = + \ (@ r_a1qt) + (@ r'_a1qu) + (o_a1qv :: r_a1qt -> r'_a1qu -> r_a1qt) + (r_a1qw :: r_a1qt) + (f_a1qx + :: forall d_a1qy. Data.Data.Data d_a1qy => d_a1qy -> r'_a1qu) + (eta_B1 :: CompanyDatatypes.Unit) -> + case eta_B1 of _ { + CompanyDatatypes.PU a22_aSQ -> + (o_a1qv + r_a1qw + (f_a1qx + @ CompanyDatatypes.Employee + CompanyDatatypes.$fDataEmployee + a22_aSQ)) + `cast` (Sym + <(Data.Data.NTCo:CONST )> + :: r_a1qt ~# Data.Data.CONST r_a1qt CompanyDatatypes.Unit); + CompanyDatatypes.DU a22_aST -> + (o_a1qv + r_a1qw + (f_a1qx + @ CompanyDatatypes.Dept CompanyDatatypes.$fDataDept a22_aST)) + `cast` (Sym + <(Data.Data.NTCo:CONST )> + :: r_a1qt ~# Data.Data.CONST r_a1qt CompanyDatatypes.Unit) + } + +CompanyDatatypes.$w$cgmapMo1 [Occ=LoopBreaker] + :: forall (m_aY8 :: * -> *). + GHC.Base.Monad m_aY8 => + (forall a_a1nd. m_aY8 a_a1nd) + -> (forall a_a1nc. m_aY8 a_a1nc -> m_aY8 a_a1nc -> m_aY8 a_a1nc) + -> (forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + -> CompanyDatatypes.Dept + -> m_aY8 CompanyDatatypes.Dept +[GblId, Arity=5, Str=DmdType SLLLL] +CompanyDatatypes.$w$cgmapMo1 = + \ (@ (m_aY8 :: * -> *)) + (ww_s2lm :: GHC.Base.Monad m_aY8) + (ww1_s2ln :: forall a_a1nd. m_aY8 a_a1nd) + (ww2_s2lo + :: forall a_a1nc. m_aY8 a_a1nc -> m_aY8 a_a1nc -> m_aY8 a_a1nc) + (w_s2lq + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w3_s2lr :: CompanyDatatypes.Dept) -> + case ww_s2lm + of _ { GHC.Base.D:Monad ww3_s2lc ww4_s2ld ww5_s2le ww6_s2lf -> + ww3_s2lc + @ (CompanyDatatypes.Dept, GHC.Types.Bool) + @ CompanyDatatypes.Dept + (case w3_s2lr of _ { CompanyDatatypes.D a22_aTb a23_aTc a24_aTd -> + let { + a25_s1Mv + :: forall d_X1yR b_X1yT. + Data.Data.Data d_X1yR => + Data.Data.Mp m_aY8 (d_X1yR -> b_X1yT) + -> d_X1yR -> m_aY8 (b_X1yT, GHC.Types.Bool) + [LclId, Arity=3, Str=DmdType LLL] + a25_s1Mv = + \ (@ d_a1mF) + (@ b_a1mG) + ($dData2_a1mH :: Data.Data.Data d_a1mF) + (ds_a1mI :: Data.Data.Mp m_aY8 (d_a1mF -> b_a1mG)) + (y_a1mJ :: d_a1mF) -> + let { + lvl11_s1FQ :: m_aY8 d_a1mF + [LclId, Str=DmdType] + lvl11_s1FQ = w_s2lq @ d_a1mF $dData2_a1mH y_a1mJ } in + ww3_s2lc + @ (d_a1mF -> b_a1mG, GHC.Types.Bool) + @ (b_a1mG, GHC.Types.Bool) + (ds_a1mI + `cast` ( b_a1mG>> + :: Data.Data.Mp m_aY8 (d_a1mF -> b_a1mG) + ~# + m_aY8 (d_a1mF -> b_a1mG, GHC.Types.Bool))) + (\ (ds1_a1mK :: (d_a1mF -> b_a1mG, GHC.Types.Bool)) -> + case ds1_a1mK of _ { (h_a1mN, b_a1mO) -> + case b_a1mO of _ { + GHC.Types.False -> + ww2_s2lo + @ (b_a1mG, GHC.Types.Bool) + (ww3_s2lc + @ d_a1mF + @ (b_a1mG, GHC.Types.Bool) + lvl11_s1FQ + (\ (y'_a1mT :: d_a1mF) -> + ww5_s2le + @ (b_a1mG, GHC.Types.Bool) (h_a1mN y'_a1mT, GHC.Types.True))) + (ww5_s2le + @ (b_a1mG, GHC.Types.Bool) (h_a1mN y_a1mJ, GHC.Types.False)); + GHC.Types.True -> + ww5_s2le @ (b_a1mG, GHC.Types.Bool) (h_a1mN y_a1mJ, GHC.Types.True) + } + }) } in + a25_s1Mv + @ [CompanyDatatypes.Unit] + @ CompanyDatatypes.Dept + CompanyDatatypes.$fDataDept_$dData + ((a25_s1Mv + @ CompanyDatatypes.Manager + @ ([CompanyDatatypes.Unit] -> CompanyDatatypes.Dept) + CompanyDatatypes.$fDataEmployee + ((a25_s1Mv + @ CompanyDatatypes.Name + @ (CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] -> CompanyDatatypes.Dept) + CompanyDatatypes.$fDataDept_$dData1 + ((ww5_s2le + @ (CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Dept, + GHC.Types.Bool) + lvl10_r3dW) + `cast` (Sym + <(Data.Data.NTCo:Mp + + CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Dept>)> + :: m_aY8 (CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Dept, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aY8 + (CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Dept))) + a22_aTb) + `cast` (Sym + <(Data.Data.NTCo:Mp + + [CompanyDatatypes.Unit] -> CompanyDatatypes.Dept>)> + :: m_aY8 (CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] -> CompanyDatatypes.Dept, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aY8 + (CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] -> CompanyDatatypes.Dept))) + a23_aTc) + `cast` (Sym + <(Data.Data.NTCo:Mp + <[CompanyDatatypes.Unit] -> CompanyDatatypes.Dept>)> + :: m_aY8 ([CompanyDatatypes.Unit] -> CompanyDatatypes.Dept, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aY8 ([CompanyDatatypes.Unit] -> CompanyDatatypes.Dept))) + a24_aTd + }) + (\ (ds_a1n1 :: (CompanyDatatypes.Dept, GHC.Types.Bool)) -> + case ds_a1n1 of _ { (x'_a1n4, b_a1n5) -> + case b_a1n5 of _ { + GHC.Types.False -> ww1_s2ln @ CompanyDatatypes.Dept; + GHC.Types.True -> ww5_s2le @ CompanyDatatypes.Dept x'_a1n4 + } + }) + } + +CompanyDatatypes.$w$cgmapMp [Occ=LoopBreaker] + :: forall (m_aXe :: * -> *). + GHC.Base.Monad m_aXe => + (forall a_a1nd. m_aXe a_a1nd) + -> (forall a_a1nc. m_aXe a_a1nc -> m_aXe a_a1nc -> m_aXe a_a1nc) + -> (forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + -> CompanyDatatypes.Dept + -> m_aXe CompanyDatatypes.Dept +[GblId, Arity=5, Str=DmdType SLLLL] +CompanyDatatypes.$w$cgmapMp = + \ (@ (m_aXe :: * -> *)) + (ww_s2jd :: GHC.Base.Monad m_aXe) + (ww1_s2je :: forall a_a1nd. m_aXe a_a1nd) + (ww2_s2jf + :: forall a_a1nc. m_aXe a_a1nc -> m_aXe a_a1nc -> m_aXe a_a1nc) + (w_s2jh + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w3_s2ji :: CompanyDatatypes.Dept) -> + case ww_s2jd + of _ { GHC.Base.D:Monad ww3_s2j3 ww4_s2j4 ww5_s2j5 ww6_s2j6 -> + ww3_s2j3 + @ (CompanyDatatypes.Dept, GHC.Types.Bool) + @ CompanyDatatypes.Dept + (case w3_s2ji of _ { CompanyDatatypes.D a22_aTb a23_aTc a24_aTd -> + let { + a25_s1Mo + :: forall d_X1zN b_X1zP. + Data.Data.Data d_X1zN => + Data.Data.Mp m_aXe (d_X1zN -> b_X1zP) + -> d_X1zN -> m_aXe (b_X1zP, GHC.Types.Bool) + [LclId, Arity=3, Str=DmdType LLL] + a25_s1Mo = + \ (@ d_a1nA) + (@ b_a1nB) + ($dData2_a1nC :: Data.Data.Data d_a1nA) + (ds_a1nD :: Data.Data.Mp m_aXe (d_a1nA -> b_a1nB)) + (y_a1nE :: d_a1nA) -> + let { + lvl11_s1FO [Dmd=Just L] :: m_aXe d_a1nA + [LclId, Str=DmdType] + lvl11_s1FO = w_s2jh @ d_a1nA $dData2_a1nC y_a1nE } in + ww3_s2j3 + @ (d_a1nA -> b_a1nB, GHC.Types.Bool) + @ (b_a1nB, GHC.Types.Bool) + (ds_a1nD + `cast` ( b_a1nB>> + :: Data.Data.Mp m_aXe (d_a1nA -> b_a1nB) + ~# + m_aXe (d_a1nA -> b_a1nB, GHC.Types.Bool))) + (\ (ds1_a1nF :: (d_a1nA -> b_a1nB, GHC.Types.Bool)) -> + case ds1_a1nF of _ { (h_a1nI, b_a1nJ) -> + ww2_s2jf + @ (b_a1nB, GHC.Types.Bool) + (ww3_s2j3 + @ d_a1nA + @ (b_a1nB, GHC.Types.Bool) + lvl11_s1FO + (\ (y'_a1nL :: d_a1nA) -> + ww5_s2j5 + @ (b_a1nB, GHC.Types.Bool) (h_a1nI y'_a1nL, GHC.Types.True))) + (ww5_s2j5 @ (b_a1nB, GHC.Types.Bool) (h_a1nI y_a1nE, b_a1nJ)) + }) } in + a25_s1Mo + @ [CompanyDatatypes.Unit] + @ CompanyDatatypes.Dept + CompanyDatatypes.$fDataDept_$dData + ((a25_s1Mo + @ CompanyDatatypes.Manager + @ ([CompanyDatatypes.Unit] -> CompanyDatatypes.Dept) + CompanyDatatypes.$fDataEmployee + ((a25_s1Mo + @ CompanyDatatypes.Name + @ (CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] -> CompanyDatatypes.Dept) + CompanyDatatypes.$fDataDept_$dData1 + ((ww5_s2j5 + @ (CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Dept, + GHC.Types.Bool) + lvl10_r3dW) + `cast` (Sym + <(Data.Data.NTCo:Mp + + CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Dept>)> + :: m_aXe (CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Dept, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aXe + (CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Dept))) + a22_aTb) + `cast` (Sym + <(Data.Data.NTCo:Mp + + [CompanyDatatypes.Unit] -> CompanyDatatypes.Dept>)> + :: m_aXe (CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] -> CompanyDatatypes.Dept, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aXe + (CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] -> CompanyDatatypes.Dept))) + a23_aTc) + `cast` (Sym + <(Data.Data.NTCo:Mp + <[CompanyDatatypes.Unit] -> CompanyDatatypes.Dept>)> + :: m_aXe ([CompanyDatatypes.Unit] -> CompanyDatatypes.Dept, + GHC.Types.Bool) + ~# + Data.Data.Mp + m_aXe ([CompanyDatatypes.Unit] -> CompanyDatatypes.Dept))) + a24_aTd + }) + (\ (ds_a1nR :: (CompanyDatatypes.Dept, GHC.Types.Bool)) -> + case ds_a1nR of _ { (x'_a1nU, b_a1nV) -> + case b_a1nV of _ { + GHC.Types.False -> ww1_s2je @ CompanyDatatypes.Dept; + GHC.Types.True -> ww5_s2j5 @ CompanyDatatypes.Dept x'_a1nU + } + }) + } + +CompanyDatatypes.$w$cgmapM [Occ=LoopBreaker] + :: forall (m_aX4 :: * -> *). + (forall a_a1ne b_a1nf. + m_aX4 a_a1ne -> (a_a1ne -> m_aX4 b_a1nf) -> m_aX4 b_a1nf) + -> (forall a_a1ni. a_a1ni -> m_aX4 a_a1ni) + -> (forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + -> CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> m_aX4 CompanyDatatypes.Dept +[GblId, Arity=6, Str=DmdType SLLLLL] +CompanyDatatypes.$w$cgmapM = + \ (@ (m_aX4 :: * -> *)) + (ww_s2jp + :: forall a_a1ne b_a1nf. + m_aX4 a_a1ne -> (a_a1ne -> m_aX4 b_a1nf) -> m_aX4 b_a1nf) + (ww1_s2jr :: forall a_a1ni. a_a1ni -> m_aX4 a_a1ni) + (w_s2ju + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (ww2_s2jx :: CompanyDatatypes.Name) + (ww3_s2jy :: CompanyDatatypes.Manager) + (ww4_s2jz :: [CompanyDatatypes.Unit]) -> + let { + k_XZu + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + m_aX4 (d_aV1 -> b_aV2) -> d_aV1 -> m_aX4 b_aV2 + [LclId, Arity=3, Str=DmdType LLL] + k_XZu = + \ (@ d_a1ob) + (@ b_a1oc) + ($dData2_a1od :: Data.Data.Data d_a1ob) + (c_a1oe :: m_aX4 (d_a1ob -> b_a1oc)) + (x_a1of :: d_a1ob) -> + let { + lvl11_s1FM [Dmd=Just L] :: m_aX4 d_a1ob + [LclId, Str=DmdType] + lvl11_s1FM = w_s2ju @ d_a1ob $dData2_a1od x_a1of } in + ww_s2jp + @ (d_a1ob -> b_a1oc) + @ b_a1oc + c_a1oe + (\ (c'_a1og :: d_a1ob -> b_a1oc) -> + ww_s2jp + @ d_a1ob + @ b_a1oc + lvl11_s1FM + (\ (x'_a1oh :: d_a1ob) -> + ww1_s2jr @ b_a1oc (c'_a1og x'_a1oh))) } in + k_XZu + @ [CompanyDatatypes.Unit] + @ CompanyDatatypes.Dept + CompanyDatatypes.$fDataDept_$dData + (k_XZu + @ CompanyDatatypes.Manager + @ ([CompanyDatatypes.Unit] -> CompanyDatatypes.Dept) + CompanyDatatypes.$fDataEmployee + (k_XZu + @ CompanyDatatypes.Name + @ (CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] -> CompanyDatatypes.Dept) + CompanyDatatypes.$fDataDept_$dData1 + (ww1_s2jr + @ (CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Dept) + CompanyDatatypes.D) + ww2_s2jx) + ww3_s2jy) + ww4_s2jz + +CompanyDatatypes.$w$cgmapQi [Occ=LoopBreaker] + :: forall u_aWW. + GHC.Prim.Int# + -> (forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + -> CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> u_aWW +[GblId, Arity=5, Str=DmdType LC(C(S))LLL] +CompanyDatatypes.$w$cgmapQi = + \ (@ u_aWW) + (ww_s2jH :: GHC.Prim.Int#) + (w_s2jJ :: forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + (ww1_s2jM :: CompanyDatatypes.Name) + (ww2_s2jN :: CompanyDatatypes.Manager) + (ww3_s2jO :: [CompanyDatatypes.Unit]) -> + case ww_s2jH of _ { + __DEFAULT -> Data.Maybe.fromJust1 @ u_aWW; + 0 -> + w_s2jJ + @ CompanyDatatypes.Name + CompanyDatatypes.$fDataDept_$dData1 + ww1_s2jM; + 1 -> + w_s2jJ + @ CompanyDatatypes.Manager + CompanyDatatypes.$fDataEmployee + ww2_s2jN; + 2 -> + w_s2jJ + @ [CompanyDatatypes.Unit] + CompanyDatatypes.$fDataDept_$dData + ww3_s2jO + } + +CompanyDatatypes.$w$cgmapQ [Occ=LoopBreaker] + :: forall u_aWO. + (forall d_aWP. Data.Data.Data d_aWP => d_aWP -> u_aWO) + -> CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> [u_aWO] +[GblId, Arity=4, Str=DmdType LLLL] +CompanyDatatypes.$w$cgmapQ = + \ (@ u_aWO) + (w_s2jT :: forall d_aWP. Data.Data.Data d_aWP => d_aWP -> u_aWO) + (ww_s2jW :: CompanyDatatypes.Name) + (ww1_s2jX :: CompanyDatatypes.Manager) + (ww2_s2jY :: [CompanyDatatypes.Unit]) -> + CompanyDatatypes.$w$cgmapQr + @ [u_aWO] + @ u_aWO + (GHC.Types.: @ u_aWO) + (GHC.Types.[] @ u_aWO) + w_s2jT + ww_s2jW + ww1_s2jX + ww2_s2jY + +CompanyDatatypes.$w$cgmapQr [Occ=LoopBreaker] + :: forall r_aWE r'_aWF. + (r'_aWF -> r_aWE -> r_aWE) + -> r_aWE + -> (forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + -> CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> r_aWE +[GblId, Arity=6, Str=DmdType C(C(S))LLLLL] +CompanyDatatypes.$w$cgmapQr = + \ (@ r_aWE) + (@ r'_aWF) + (w_s2k5 :: r'_aWF -> r_aWE -> r_aWE) + (w3_s2k6 :: r_aWE) + (w4_s2k7 :: forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + (ww_s2ka :: CompanyDatatypes.Name) + (ww1_s2kb :: CompanyDatatypes.Manager) + (ww2_s2kc :: [CompanyDatatypes.Unit]) -> + w_s2k5 + (w4_s2k7 + @ CompanyDatatypes.Name + CompanyDatatypes.$fDataDept_$dData1 + ww_s2ka) + (w_s2k5 + (w4_s2k7 + @ CompanyDatatypes.Manager + CompanyDatatypes.$fDataEmployee + ww1_s2kb) + (w_s2k5 + (w4_s2k7 + @ [CompanyDatatypes.Unit] + CompanyDatatypes.$fDataDept_$dData + ww2_s2kc) + w3_s2k6)) + +CompanyDatatypes.$w$cgmapQl [Occ=LoopBreaker] + :: forall r_aWu r'_aWv. + (r_aWu -> r'_aWv -> r_aWu) + -> r_aWu + -> (forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + -> CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> r_aWu +[GblId, Arity=6, Str=DmdType C(C(S))LLLLL] +CompanyDatatypes.$w$cgmapQl = + \ (@ r_aWu) + (@ r'_aWv) + (w_s2kj :: r_aWu -> r'_aWv -> r_aWu) + (w3_s2kk :: r_aWu) + (w4_s2kl :: forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + (ww_s2ko :: CompanyDatatypes.Name) + (ww1_s2kp :: CompanyDatatypes.Manager) + (ww2_s2kq :: [CompanyDatatypes.Unit]) -> + w_s2kj + (w_s2kj + (w_s2kj + w3_s2kk + (w4_s2kl + @ CompanyDatatypes.Name + CompanyDatatypes.$fDataDept_$dData1 + ww_s2ko)) + (w4_s2kl + @ CompanyDatatypes.Manager + CompanyDatatypes.$fDataEmployee + ww1_s2kp)) + (w4_s2kl + @ [CompanyDatatypes.Unit] + CompanyDatatypes.$fDataDept_$dData + ww2_s2kq) + +CompanyDatatypes.$w$cgunfold1 [Occ=LoopBreaker] + :: forall (c_aV9 :: * -> *). + (forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + -> (forall r_aVc. r_aVc -> c_aV9 r_aVc) + -> c_aV9 CompanyDatatypes.Dept +[GblId, Arity=2, Str=DmdType C(C(S))L] +CompanyDatatypes.$w$cgunfold1 = + \ (@ (c_aV9 :: * -> *)) + (w_s2kH + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + (w3_s2kI :: forall r_aVc. r_aVc -> c_aV9 r_aVc) -> + w_s2kH + @ [CompanyDatatypes.Unit] + @ CompanyDatatypes.Dept + $dData1_r3dX + (w_s2kH + @ CompanyDatatypes.Manager + @ ([CompanyDatatypes.Unit] -> CompanyDatatypes.Dept) + CompanyDatatypes.$fDataEmployee + (w_s2kH + @ CompanyDatatypes.Name + @ (CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] -> CompanyDatatypes.Dept) + $dData_r3dT + (w3_s2kI + @ (CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Dept) + CompanyDatatypes.D))) + +CompanyDatatypes.$w$cgfoldl2 [Occ=LoopBreaker] + :: forall (c_aV0 :: * -> *). + (forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + -> (forall g_aV3. g_aV3 -> c_aV0 g_aV3) + -> CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> c_aV0 CompanyDatatypes.Dept +[GblId, Arity=5, Str=DmdType C(C(C(S)))LLLL] +CompanyDatatypes.$w$cgfoldl2 = + \ (@ (c_aV0 :: * -> *)) + (w_s2kO + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + (w3_s2kP :: forall g_aV3. g_aV3 -> c_aV0 g_aV3) + (ww_s2kS :: CompanyDatatypes.Name) + (ww1_s2kT :: CompanyDatatypes.Manager) + (ww2_s2kU :: [CompanyDatatypes.Unit]) -> + w_s2kO + @ [CompanyDatatypes.Unit] + @ CompanyDatatypes.Dept + CompanyDatatypes.$fDataDept_$dData + (w_s2kO + @ CompanyDatatypes.Manager + @ ([CompanyDatatypes.Unit] -> CompanyDatatypes.Dept) + CompanyDatatypes.$fDataEmployee + (w_s2kO + @ CompanyDatatypes.Name + @ (CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] -> CompanyDatatypes.Dept) + CompanyDatatypes.$fDataDept_$dData1 + (w3_s2kP + @ (CompanyDatatypes.Name + -> CompanyDatatypes.Manager + -> [CompanyDatatypes.Unit] + -> CompanyDatatypes.Dept) + CompanyDatatypes.D) + ww_s2kS) + ww1_s2kT) + ww2_s2kU + +CompanyDatatypes.$fDataUnit2 [Occ=LoopBreaker] + :: (forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + -> CompanyDatatypes.Unit -> Data.Data.ID CompanyDatatypes.Unit +[GblId, Arity=2, Str=DmdType LS] +CompanyDatatypes.$fDataUnit2 = + \ (f_a1r7 + :: forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + (x0_a1r9 :: CompanyDatatypes.Unit) -> + case x0_a1r9 of _ { + CompanyDatatypes.PU a22_aSQ -> + (CompanyDatatypes.PU + (f_a1r7 + @ CompanyDatatypes.Employee + CompanyDatatypes.$fDataEmployee + a22_aSQ)) + `cast` (Sym <(Data.Data.NTCo:ID )> + :: CompanyDatatypes.Unit ~# Data.Data.ID CompanyDatatypes.Unit); + CompanyDatatypes.DU a22_aST -> + (CompanyDatatypes.DU + (f_a1r7 + @ CompanyDatatypes.Dept CompanyDatatypes.$fDataDept a22_aST)) + `cast` (Sym <(Data.Data.NTCo:ID )> + :: CompanyDatatypes.Unit ~# Data.Data.ID CompanyDatatypes.Unit) + } + +CompanyDatatypes.$w$cgunfold [Occ=LoopBreaker] + :: forall (c_aV9 :: * -> *). + (forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + -> (forall r_aVc. r_aVc -> c_aV9 r_aVc) + -> Data.Data.ConstrRep + -> c_aV9 CompanyDatatypes.Unit +[GblId, Arity=3, Str=DmdType C(C(S))LS] +CompanyDatatypes.$w$cgunfold = + \ (@ (c_aV9 :: * -> *)) + (w_s2l0 + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + (w3_s2l1 :: forall r_aVc. r_aVc -> c_aV9 r_aVc) + (ww_s2l4 :: Data.Data.ConstrRep) -> + case ww_s2l4 of _ { + __DEFAULT -> case Data.Data.$fData()5 of wild_00 { }; + Data.Data.AlgConstr idx_a16C -> + case idx_a16C of _ { GHC.Types.I# ds_d15H -> + case ds_d15H of _ { + __DEFAULT -> + w_s2l0 + @ CompanyDatatypes.Dept + @ CompanyDatatypes.Unit + CompanyDatatypes.$fDataDept + (w3_s2l1 + @ (CompanyDatatypes.Dept -> CompanyDatatypes.Unit) + CompanyDatatypes.DU); + 1 -> + w_s2l0 + @ CompanyDatatypes.Employee + @ CompanyDatatypes.Unit + CompanyDatatypes.$fDataEmployee + (w3_s2l1 + @ (CompanyDatatypes.Employee -> CompanyDatatypes.Unit) + CompanyDatatypes.PU) + } + } + } + +CompanyDatatypes.$fDataUnit_$cgfoldl [Occ=LoopBreaker] + :: forall (c_aV0 :: * -> *). + (forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + -> (forall g_aV3. g_aV3 -> c_aV0 g_aV3) + -> CompanyDatatypes.Unit + -> c_aV0 CompanyDatatypes.Unit +[GblId, Arity=3, Str=DmdType C(C(C(S)))LS] +CompanyDatatypes.$fDataUnit_$cgfoldl = + \ (@ (c_t2D :: * -> *)) + (k_aSO + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_t2D (d_aV1 -> b_aV2) -> d_aV1 -> c_t2D b_aV2) + (z_aSP :: forall g_aV3. g_aV3 -> c_t2D g_aV3) + (ds_d15D :: CompanyDatatypes.Unit) -> + case ds_d15D of _ { + CompanyDatatypes.PU a22_aSQ -> + k_aSO + @ CompanyDatatypes.Employee + @ CompanyDatatypes.Unit + CompanyDatatypes.$fDataEmployee + (z_aSP + @ (CompanyDatatypes.Employee -> CompanyDatatypes.Unit) + CompanyDatatypes.PU) + a22_aSQ; + CompanyDatatypes.DU a22_aST -> + k_aSO + @ CompanyDatatypes.Dept + @ CompanyDatatypes.Unit + CompanyDatatypes.$fDataDept + (z_aSP + @ (CompanyDatatypes.Dept -> CompanyDatatypes.Unit) + CompanyDatatypes.DU) + a22_aST + } +end Rec } + +CompanyDatatypes.$fDataCompany2 + :: [CompanyDatatypes.Dept] -> Data.Typeable.Internal.TypeRep +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=False, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 30 0}] +CompanyDatatypes.$fDataCompany2 = + Data.Typeable.Internal.typeOfDefault + @ [] + @ CompanyDatatypes.Dept + (Data.Typeable.Internal.$fTypeable1[]_$ctypeOf1 + `cast` (Sym <(Data.Typeable.Internal.NTCo:Typeable1 <[]>)> + :: (forall a_a1GP. [a_a1GP] -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable1 [])) + (CompanyDatatypes.$fTypeableDept_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Dept -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Dept)) + +CompanyDatatypes.$fDataCompany_$dData + :: Data.Data.Data [CompanyDatatypes.Dept] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 30 0}] +CompanyDatatypes.$fDataCompany_$dData = + Data.Data.$fData[] + @ CompanyDatatypes.Dept + (CompanyDatatypes.$fDataCompany2 + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable <[CompanyDatatypes.Dept]>)> + :: ([CompanyDatatypes.Dept] -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable [CompanyDatatypes.Dept])) + CompanyDatatypes.$fDataDept + +CompanyDatatypes.$fDataCompany_$cgfoldl + :: forall (c_aV0 :: * -> *). + (forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_aV0 (d_aV1 -> b_aV2) -> d_aV1 -> c_aV0 b_aV2) + -> (forall g_aV3. g_aV3 -> c_aV0 g_aV3) + -> CompanyDatatypes.Company + -> c_aV0 CompanyDatatypes.Company +[GblId, + Arity=3, + Str=DmdType C(C(C(S)))LU(L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (c_t45 :: * -> *)) + (k_X100 [Occ=Once!] + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_t45 (d_aV1 -> b_aV2) -> d_aV1 -> c_t45 b_aV2) + (z_X102 [Occ=Once!] :: forall g_aV3. g_aV3 -> c_t45 g_aV3) + (ds_X1cS [Occ=Once!] :: CompanyDatatypes.Company) -> + case ds_X1cS of _ { CompanyDatatypes.C a22_aTo [Occ=Once] -> + k_X100 + @ [CompanyDatatypes.Dept] + @ CompanyDatatypes.Company + CompanyDatatypes.$fDataCompany_$dData + (z_X102 + @ ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company) + CompanyDatatypes.C) + a22_aTo + }}] +CompanyDatatypes.$fDataCompany_$cgfoldl = + \ (@ (c_t45 :: * -> *)) + (k_X100 + :: forall d_aV1 b_aV2. + Data.Data.Data d_aV1 => + c_t45 (d_aV1 -> b_aV2) -> d_aV1 -> c_t45 b_aV2) + (z_X102 :: forall g_aV3. g_aV3 -> c_t45 g_aV3) + (ds_X1cS :: CompanyDatatypes.Company) -> + case ds_X1cS of _ { CompanyDatatypes.C a22_aTo -> + k_X100 + @ [CompanyDatatypes.Dept] + @ CompanyDatatypes.Company + CompanyDatatypes.$fDataCompany_$dData + (z_X102 + @ ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company) + CompanyDatatypes.C) + a22_aTo + } + +CompanyDatatypes.$fDataCompany_$dData1 + :: Data.Data.Data [CompanyDatatypes.Dept] +[GblId, + Str=DmdType, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 30 0}] +CompanyDatatypes.$fDataCompany_$dData1 = + Data.Data.$fData[] + @ CompanyDatatypes.Dept + (CompanyDatatypes.$fDataCompany2 + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable <[CompanyDatatypes.Dept]>)> + :: ([CompanyDatatypes.Dept] -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable [CompanyDatatypes.Dept])) + CompanyDatatypes.$fDataDept + +CompanyDatatypes.$fDataCompany_$cgunfold + :: forall (c_aV9 :: * -> *). + (forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_aV9 (b_aVa -> r_aVb) -> c_aV9 r_aVb) + -> (forall r_aVc. r_aVc -> c_aV9 r_aVc) + -> Data.Data.Constr + -> c_aV9 CompanyDatatypes.Company +[GblId, + Arity=3, + Str=DmdType C(C(S))LA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (c_t49 :: * -> *)) + (k_X106 [Occ=Once!] + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_t49 (b_aVa -> r_aVb) -> c_t49 r_aVb) + (z_X108 [Occ=Once!] :: forall r_aVc. r_aVc -> c_t49 r_aVc) + _ -> + k_X106 + @ [CompanyDatatypes.Dept] + @ CompanyDatatypes.Company + CompanyDatatypes.$fDataCompany_$dData1 + (z_X108 + @ ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company) + CompanyDatatypes.C)}] +CompanyDatatypes.$fDataCompany_$cgunfold = + \ (@ (c_t49 :: * -> *)) + (k_X106 + :: forall b_aVa r_aVb. + Data.Data.Data b_aVa => + c_t49 (b_aVa -> r_aVb) -> c_t49 r_aVb) + (z_X108 :: forall r_aVc. r_aVc -> c_t49 r_aVc) + _ -> + k_X106 + @ [CompanyDatatypes.Dept] + @ CompanyDatatypes.Company + CompanyDatatypes.$fDataCompany_$dData1 + (z_X108 + @ ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company) + CompanyDatatypes.C) + +CompanyDatatypes.$fDataCompany1 + :: ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company, + GHC.Types.Bool) +[GblId, + Caf=NoCafRefs, + Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, + ConLike=True, WorkFree=False, Expandable=True, + Guidance=IF_ARGS [] 10 30}] +CompanyDatatypes.$fDataCompany1 = + (CompanyDatatypes.C, GHC.Types.False) + +CompanyDatatypes.$w$cgmapMo + :: forall (m_aY8 :: * -> *). + GHC.Base.Monad m_aY8 => + (forall a_a1nd. m_aY8 a_a1nd) + -> (forall a_a1nc. m_aY8 a_a1nc -> m_aY8 a_a1nc -> m_aY8 a_a1nc) + -> (forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + -> CompanyDatatypes.Company + -> m_aY8 CompanyDatatypes.Company +[GblId, + Arity=5, + Str=DmdType SLLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20 0 60 60 20] 460 0}] +CompanyDatatypes.$w$cgmapMo = + \ (@ (m_aY8 :: * -> *)) + (ww_s2lE :: GHC.Base.Monad m_aY8) + (ww1_s2lF :: forall a_a1nd. m_aY8 a_a1nd) + (ww2_s2lG + :: forall a_a1nc. m_aY8 a_a1nc -> m_aY8 a_a1nc -> m_aY8 a_a1nc) + (w_s2lI + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w3_s2lJ :: CompanyDatatypes.Company) -> + case ww_s2lE + of _ { GHC.Base.D:Monad ww3_s2lu ww4_s2lv ww5_s2lw ww6_s2lx -> + ww3_s2lu + @ (CompanyDatatypes.Company, GHC.Types.Bool) + @ CompanyDatatypes.Company + (case w3_s2lJ of _ { CompanyDatatypes.C a22_aTo -> + let { + lvl11_s1FS :: m_aY8 [CompanyDatatypes.Dept] + [LclId, Str=DmdType] + lvl11_s1FS = + w_s2lI + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + a22_aTo } in + ww3_s2lu + @ ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company, + GHC.Types.Bool) + @ (CompanyDatatypes.Company, GHC.Types.Bool) + (ww5_s2lw + @ ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company, + GHC.Types.Bool) + CompanyDatatypes.$fDataCompany1) + (\ (ds1_a1mK + :: ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company, + GHC.Types.Bool)) -> + case ds1_a1mK of _ { (h_a1mN, b_a1mO) -> + case b_a1mO of _ { + GHC.Types.False -> + ww2_s2lG + @ (CompanyDatatypes.Company, GHC.Types.Bool) + (ww3_s2lu + @ [CompanyDatatypes.Dept] + @ (CompanyDatatypes.Company, GHC.Types.Bool) + lvl11_s1FS + (\ (y'_a1mT :: [CompanyDatatypes.Dept]) -> + ww5_s2lw + @ (CompanyDatatypes.Company, GHC.Types.Bool) + (h_a1mN y'_a1mT, GHC.Types.True))) + (ww5_s2lw + @ (CompanyDatatypes.Company, GHC.Types.Bool) + (h_a1mN a22_aTo, GHC.Types.False)); + GHC.Types.True -> + ww5_s2lw + @ (CompanyDatatypes.Company, GHC.Types.Bool) + (h_a1mN a22_aTo, GHC.Types.True) + } + }) + }) + (\ (ds_a1n1 :: (CompanyDatatypes.Company, GHC.Types.Bool)) -> + case ds_a1n1 of _ { (x'_a1n4, b_a1n5) -> + case b_a1n5 of _ { + GHC.Types.False -> ww1_s2lF @ CompanyDatatypes.Company; + GHC.Types.True -> ww5_s2lw @ CompanyDatatypes.Company x'_a1n4 + } + }) + } + +CompanyDatatypes.$fDataCompany_$cgmapMo [InlPrag=INLINE[0]] + :: forall (m_aY8 :: * -> *). + Control.Monad.MonadPlus m_aY8 => + (forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + -> CompanyDatatypes.Company -> m_aY8 CompanyDatatypes.Company +[GblId, + Arity=3, + Str=DmdType U(SLL)LL, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapMo, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aY8 :: * -> *)) + (w_s2lC [Occ=Once!] :: Control.Monad.MonadPlus m_aY8) + (w3_s2lI [Occ=Once] + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w4_s2lJ [Occ=Once] :: CompanyDatatypes.Company) -> + case w_s2lC + of _ + { Control.Monad.D:MonadPlus ww_s2lE [Occ=Once] + ww1_s2lF [Occ=Once] + ww2_s2lG [Occ=Once] -> + CompanyDatatypes.$w$cgmapMo + @ m_aY8 ww_s2lE ww1_s2lF ww2_s2lG w3_s2lI w4_s2lJ + }}] +CompanyDatatypes.$fDataCompany_$cgmapMo = + \ (@ (m_aY8 :: * -> *)) + (w_s2lC :: Control.Monad.MonadPlus m_aY8) + (w3_s2lI + :: forall d_aY9. Data.Data.Data d_aY9 => d_aY9 -> m_aY8 d_aY9) + (w4_s2lJ :: CompanyDatatypes.Company) -> + case w_s2lC + of _ { Control.Monad.D:MonadPlus ww_s2lE ww1_s2lF ww2_s2lG -> + CompanyDatatypes.$w$cgmapMo + @ m_aY8 ww_s2lE ww1_s2lF ww2_s2lG w3_s2lI w4_s2lJ + } + +CompanyDatatypes.$w$cgmapMp5 + :: forall (m_aXe :: * -> *). + GHC.Base.Monad m_aXe => + (forall a_a1nd. m_aXe a_a1nd) + -> (forall a_a1nc. m_aXe a_a1nc -> m_aXe a_a1nc -> m_aXe a_a1nc) + -> (forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + -> CompanyDatatypes.Company + -> m_aXe CompanyDatatypes.Company +[GblId, + Arity=5, + Str=DmdType SLLLL, + Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [20 0 60 60 20] 390 0}] +CompanyDatatypes.$w$cgmapMp5 = + \ (@ (m_aXe :: * -> *)) + (ww_s2lW :: GHC.Base.Monad m_aXe) + (ww1_s2lX :: forall a_a1nd. m_aXe a_a1nd) + (ww2_s2lY + :: forall a_a1nc. m_aXe a_a1nc -> m_aXe a_a1nc -> m_aXe a_a1nc) + (w_s2m0 + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w3_s2m1 :: CompanyDatatypes.Company) -> + case ww_s2lW + of _ { GHC.Base.D:Monad ww3_s2lM ww4_s2lN ww5_s2lO ww6_s2lP -> + ww3_s2lM + @ (CompanyDatatypes.Company, GHC.Types.Bool) + @ CompanyDatatypes.Company + (case w3_s2m1 of _ { CompanyDatatypes.C a22_aTo -> + let { + lvl11_s1FU [Dmd=Just L] :: m_aXe [CompanyDatatypes.Dept] + [LclId, Str=DmdType] + lvl11_s1FU = + w_s2m0 + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + a22_aTo } in + ww3_s2lM + @ ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company, + GHC.Types.Bool) + @ (CompanyDatatypes.Company, GHC.Types.Bool) + (ww5_s2lO + @ ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company, + GHC.Types.Bool) + CompanyDatatypes.$fDataCompany1) + (\ (ds1_a1nF + :: ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company, + GHC.Types.Bool)) -> + case ds1_a1nF of _ { (h_a1nI, b_a1nJ) -> + ww2_s2lY + @ (CompanyDatatypes.Company, GHC.Types.Bool) + (ww3_s2lM + @ [CompanyDatatypes.Dept] + @ (CompanyDatatypes.Company, GHC.Types.Bool) + lvl11_s1FU + (\ (y'_a1nL :: [CompanyDatatypes.Dept]) -> + ww5_s2lO + @ (CompanyDatatypes.Company, GHC.Types.Bool) + (h_a1nI y'_a1nL, GHC.Types.True))) + (ww5_s2lO + @ (CompanyDatatypes.Company, GHC.Types.Bool) + (h_a1nI a22_aTo, b_a1nJ)) + }) + }) + (\ (ds_a1nR :: (CompanyDatatypes.Company, GHC.Types.Bool)) -> + case ds_a1nR of _ { (x'_a1nU, b_a1nV) -> + case b_a1nV of _ { + GHC.Types.False -> ww1_s2lX @ CompanyDatatypes.Company; + GHC.Types.True -> ww5_s2lO @ CompanyDatatypes.Company x'_a1nU + } + }) + } + +CompanyDatatypes.$fDataCompany_$cgmapMp [InlPrag=INLINE[0]] + :: forall (m_aXe :: * -> *). + Control.Monad.MonadPlus m_aXe => + (forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + -> CompanyDatatypes.Company -> m_aXe CompanyDatatypes.Company +[GblId, + Arity=3, + Str=DmdType U(SLL)LL, + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapMp5, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aXe :: * -> *)) + (w_s2lU [Occ=Once!] :: Control.Monad.MonadPlus m_aXe) + (w3_s2m0 [Occ=Once] + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w4_s2m1 [Occ=Once] :: CompanyDatatypes.Company) -> + case w_s2lU + of _ + { Control.Monad.D:MonadPlus ww_s2lW [Occ=Once] + ww1_s2lX [Occ=Once] + ww2_s2lY [Occ=Once] -> + CompanyDatatypes.$w$cgmapMp5 + @ m_aXe ww_s2lW ww1_s2lX ww2_s2lY w3_s2m0 w4_s2m1 + }}] +CompanyDatatypes.$fDataCompany_$cgmapMp = + \ (@ (m_aXe :: * -> *)) + (w_s2lU :: Control.Monad.MonadPlus m_aXe) + (w3_s2m0 + :: forall d_aY1. Data.Data.Data d_aY1 => d_aY1 -> m_aXe d_aY1) + (w4_s2m1 :: CompanyDatatypes.Company) -> + case w_s2lU + of _ { Control.Monad.D:MonadPlus ww_s2lW ww1_s2lX ww2_s2lY -> + CompanyDatatypes.$w$cgmapMp5 + @ m_aXe ww_s2lW ww1_s2lX ww2_s2lY w3_s2m0 w4_s2m1 + } + +CompanyDatatypes.$w$cgmapM5 + :: forall (m_aX4 :: * -> *). + (forall a_a1ne b_a1nf. + m_aX4 a_a1ne -> (a_a1ne -> m_aX4 b_a1nf) -> m_aX4 b_a1nf) + -> (forall a_a1ni. a_a1ni -> m_aX4 a_a1ni) + -> (forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + -> [CompanyDatatypes.Dept] + -> m_aX4 CompanyDatatypes.Company +[GblId, + Arity=4, + Str=DmdType SLLL, + Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=IF_ARGS [120 120 60 0] 180 0}] +CompanyDatatypes.$w$cgmapM5 = + \ (@ (m_aX4 :: * -> *)) + (ww_s2m8 + :: forall a_a1ne b_a1nf. + m_aX4 a_a1ne -> (a_a1ne -> m_aX4 b_a1nf) -> m_aX4 b_a1nf) + (ww1_s2ma :: forall a_a1ni. a_a1ni -> m_aX4 a_a1ni) + (w_s2md + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (ww2_s2mg :: [CompanyDatatypes.Dept]) -> + let { + lvl11_s1FV [Dmd=Just L] :: m_aX4 [CompanyDatatypes.Dept] + [LclId, Str=DmdType] + lvl11_s1FV = + w_s2md + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + ww2_s2mg } in + ww_s2m8 + @ ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company) + @ CompanyDatatypes.Company + (ww1_s2ma + @ ([CompanyDatatypes.Dept] -> CompanyDatatypes.Company) + CompanyDatatypes.C) + (\ (c'_a1og + :: [CompanyDatatypes.Dept] -> CompanyDatatypes.Company) -> + ww_s2m8 + @ [CompanyDatatypes.Dept] + @ CompanyDatatypes.Company + lvl11_s1FV + (\ (x'_a1oh :: [CompanyDatatypes.Dept]) -> + ww1_s2ma @ CompanyDatatypes.Company (c'_a1og x'_a1oh))) + +CompanyDatatypes.$fDataCompany_$cgmapM [InlPrag=INLINE[0]] + :: forall (m_aX4 :: * -> *). + GHC.Base.Monad m_aX4 => + (forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + -> CompanyDatatypes.Company -> m_aX4 CompanyDatatypes.Company +[GblId, + Arity=3, + Str=DmdType U(SALA)LU(L), + Unf=Unf{Src=Worker=CompanyDatatypes.$w$cgmapM5, TopLvl=True, + Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ (m_aX4 :: * -> *)) + (w_s2m6 [Occ=Once!] :: GHC.Base.Monad m_aX4) + (w3_s2md [Occ=Once] + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w4_s2me [Occ=Once!] :: CompanyDatatypes.Company) -> + case w_s2m6 + of _ + { GHC.Base.D:Monad ww_s2m8 [Occ=Once] _ ww2_s2ma [Occ=Once] _ -> + case w4_s2me of _ { CompanyDatatypes.C ww4_s2mg [Occ=Once] -> + CompanyDatatypes.$w$cgmapM5 + @ m_aX4 ww_s2m8 ww2_s2ma w3_s2md ww4_s2mg + } + }}] +CompanyDatatypes.$fDataCompany_$cgmapM = + \ (@ (m_aX4 :: * -> *)) + (w_s2m6 :: GHC.Base.Monad m_aX4) + (w3_s2md + :: forall d_aX7. Data.Data.Data d_aX7 => d_aX7 -> m_aX4 d_aX7) + (w4_s2me :: CompanyDatatypes.Company) -> + case w_s2m6 + of _ { GHC.Base.D:Monad ww_s2m8 ww1_s2m9 ww2_s2ma ww3_s2mb -> + case w4_s2me of _ { CompanyDatatypes.C ww4_s2mg -> + CompanyDatatypes.$w$cgmapM5 + @ m_aX4 ww_s2m8 ww2_s2ma w3_s2md ww4_s2mg + } + } + +CompanyDatatypes.$fDataCompany_$cgmapQi + :: forall u_aWW. + GHC.Types.Int + -> (forall d_aWX. Data.Data.Data d_aWX => d_aWX -> u_aWW) + -> CompanyDatatypes.Company + -> u_aWW +[GblId, + Arity=3, + Str=DmdType U(L)C(C(S))U(L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ u_a1ol) + (i_a1om [Occ=Once!] :: GHC.Types.Int) + (f_a1on [Occ=Once!] + :: forall d_a1oo. Data.Data.Data d_a1oo => d_a1oo -> u_a1ol) + (x_a1op [Occ=Once!] :: CompanyDatatypes.Company) -> + case x_a1op of _ { CompanyDatatypes.C a22_aTo [Occ=Once] -> + case i_a1om of _ { GHC.Types.I# x1_a1p2 [Occ=Once!] -> + case x1_a1p2 of _ { + __DEFAULT -> Data.Maybe.fromJust1 @ u_a1ol; + 0 -> + f_a1on + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + a22_aTo + } + } + }}] +CompanyDatatypes.$fDataCompany_$cgmapQi = + \ (@ u_a1ol) + (i_a1om :: GHC.Types.Int) + (f_a1on + :: forall d_a1oo. Data.Data.Data d_a1oo => d_a1oo -> u_a1ol) + (x_a1op :: CompanyDatatypes.Company) -> + case x_a1op of _ { CompanyDatatypes.C a22_aTo -> + case i_a1om of _ { GHC.Types.I# x1_a1p2 -> + case x1_a1p2 of _ { + __DEFAULT -> Data.Maybe.fromJust1 @ u_a1ol; + 0 -> + f_a1on + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + a22_aTo + } + } + } + +CompanyDatatypes.$fDataCompany_$cgmapQr + :: forall r_aWE r'_aWF. + (r'_aWF -> r_aWE -> r_aWE) + -> r_aWE + -> (forall d_aWG. Data.Data.Data d_aWG => d_aWG -> r'_aWF) + -> CompanyDatatypes.Company + -> r_aWE +[GblId, + Arity=4, + Str=DmdType C(C(S))LLU(L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ r_a1pQ) + (@ r'_a1pR) + (o_a1pS [Occ=Once!] :: r'_a1pR -> r_a1pQ -> r_a1pQ) + (r0_a1pT [Occ=Once] :: r_a1pQ) + (f_a1pU [Occ=Once!] + :: forall d_a1pV. Data.Data.Data d_a1pV => d_a1pV -> r'_a1pR) + (x0_a1pW [Occ=Once!] :: CompanyDatatypes.Company) -> + case x0_a1pW of _ { CompanyDatatypes.C a22_aTo [Occ=Once] -> + o_a1pS + (f_a1pU + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + a22_aTo) + r0_a1pT + }}] +CompanyDatatypes.$fDataCompany_$cgmapQr = + \ (@ r_a1pQ) + (@ r'_a1pR) + (o_a1pS :: r'_a1pR -> r_a1pQ -> r_a1pQ) + (r0_a1pT :: r_a1pQ) + (f_a1pU + :: forall d_a1pV. Data.Data.Data d_a1pV => d_a1pV -> r'_a1pR) + (x0_a1pW :: CompanyDatatypes.Company) -> + case x0_a1pW of _ { CompanyDatatypes.C a22_aTo -> + o_a1pS + (f_a1pU + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + a22_aTo) + r0_a1pT + } + +CompanyDatatypes.$fDataCompany_$cgmapQ + :: forall u_aWO. + (forall d_aWP. Data.Data.Data d_aWP => d_aWP -> u_aWO) + -> CompanyDatatypes.Company -> [u_aWO] +[GblId, + Arity=2, + Str=DmdType LU(L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ u_a1pL) + (f_a1pM [Occ=Once!] + :: forall d_a1pN. Data.Data.Data d_a1pN => d_a1pN -> u_a1pL) + (eta_XcE [Occ=Once!] :: CompanyDatatypes.Company) -> + case eta_XcE of _ { CompanyDatatypes.C a22_aTo [Occ=Once] -> + GHC.Types.: + @ u_a1pL + (f_a1pM + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + a22_aTo) + (GHC.Types.[] @ u_a1pL) + }}] +CompanyDatatypes.$fDataCompany_$cgmapQ = + \ (@ u_a1pL) + (f_a1pM + :: forall d_a1pN. Data.Data.Data d_a1pN => d_a1pN -> u_a1pL) + (eta_XcE :: CompanyDatatypes.Company) -> + case eta_XcE of _ { CompanyDatatypes.C a22_aTo -> + GHC.Types.: + @ u_a1pL + (f_a1pM + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + a22_aTo) + (GHC.Types.[] @ u_a1pL) + } + +CompanyDatatypes.$fDataCompany_$cgmapQl + :: forall r_aWu r'_aWv. + (r_aWu -> r'_aWv -> r_aWu) + -> r_aWu + -> (forall d_aWw. Data.Data.Data d_aWw => d_aWw -> r'_aWv) + -> CompanyDatatypes.Company + -> r_aWu +[GblId, + Arity=4, + Str=DmdType C(C(S))LLU(L), + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (@ r_X1D5) + (@ r'_X1D7) + (o_X1D9 [Occ=Once!] :: r_X1D5 -> r'_X1D7 -> r_X1D5) + (r_X1Db [Occ=Once] :: r_X1D5) + (f_X1Dd [Occ=Once!] + :: forall d_a1qy. Data.Data.Data d_a1qy => d_a1qy -> r'_X1D7) + (eta_XcI [Occ=Once!] :: CompanyDatatypes.Company) -> + case eta_XcI of _ { CompanyDatatypes.C a22_aTo [Occ=Once] -> + o_X1D9 + r_X1Db + (f_X1Dd + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + a22_aTo) + }}] +CompanyDatatypes.$fDataCompany_$cgmapQl = + \ (@ r_X1D5) + (@ r'_X1D7) + (o_X1D9 :: r_X1D5 -> r'_X1D7 -> r_X1D5) + (r_X1Db :: r_X1D5) + (f_X1Dd + :: forall d_a1qy. Data.Data.Data d_a1qy => d_a1qy -> r'_X1D7) + (eta_XcI :: CompanyDatatypes.Company) -> + case eta_XcI of _ { CompanyDatatypes.C a22_aTo -> + o_X1D9 + r_X1Db + (f_X1Dd + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + a22_aTo) + } + +CompanyDatatypes.$fDataCompany_$cgmapT + :: (forall b_aWo. Data.Data.Data b_aWo => b_aWo -> b_aWo) + -> CompanyDatatypes.Company -> CompanyDatatypes.Company +[GblId, + Arity=2, + Str=DmdType LU(L)m, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) + Tmpl= \ (f_X1DL [Occ=Once!] + :: forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + (x0_X1DO [Occ=Once!] :: CompanyDatatypes.Company) -> + case x0_X1DO of _ { CompanyDatatypes.C a22_aTo [Occ=Once] -> + CompanyDatatypes.C + (f_X1DL + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + a22_aTo) + }}] +CompanyDatatypes.$fDataCompany_$cgmapT = + \ (f_X1DL + :: forall b_a1r8. Data.Data.Data b_a1r8 => b_a1r8 -> b_a1r8) + (x0_X1DO :: CompanyDatatypes.Company) -> + case x0_X1DO of _ { CompanyDatatypes.C a22_aTo -> + CompanyDatatypes.C + (f_X1DL + @ [CompanyDatatypes.Dept] + CompanyDatatypes.$fDataCompany_$dData + a22_aTo) + } + +CompanyDatatypes.$fDataCompany_$cdataCast2 + :: forall (c_aWc :: * -> *) (t_aWd :: * -> * -> *). + Data.Typeable.Internal.Typeable2 t_aWd => + (forall d_aWe e_aWf. + (Data.Data.Data d_aWe, Data.Data.Data e_aWf) => + c_aWc (t_aWd d_aWe e_aWf)) + -> Data.Maybe.Maybe (c_aWc CompanyDatatypes.Company) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType AA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_a1rt :: * -> *)) (@ (t_a1ru :: * -> * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rt CompanyDatatypes.Company)}] +CompanyDatatypes.$fDataCompany_$cdataCast2 = + \ (@ (c_a1rt :: * -> *)) (@ (t_a1ru :: * -> * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rt CompanyDatatypes.Company) + +CompanyDatatypes.$fDataCompany_$cdataCast1 + :: forall (c_aVp :: * -> *) (t_aVq :: * -> *). + Data.Typeable.Internal.Typeable1 t_aVq => + (forall d_aVr. Data.Data.Data d_aVr => c_aVp (t_aVq d_aVr)) + -> Data.Maybe.Maybe (c_aVp CompanyDatatypes.Company) +[GblId, + Arity=2, + Caf=NoCafRefs, + Str=DmdType AA, + Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, + ConLike=True, WorkFree=True, Expandable=True, + Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) + Tmpl= \ (@ (c_a1rB :: * -> *)) (@ (t_a1rC :: * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rB CompanyDatatypes.Company)}] +CompanyDatatypes.$fDataCompany_$cdataCast1 = + \ (@ (c_a1rB :: * -> *)) (@ (t_a1rC :: * -> *)) _ _ -> + Data.Maybe.Nothing @ (c_a1rB CompanyDatatypes.Company) + +CompanyDatatypes.$fDataCompany [InlPrag=[ALWAYS] CONLIKE] + :: Data.Data.Data CompanyDatatypes.Company +[GblId[DFunId], + Str=DmdType, + Unf=DFun(arity=0) Data.Data.D:Data [{CompanyDatatypes.$fTypeableCompany}, + {CompanyDatatypes.$fDataCompany_$cgfoldl}, + {CompanyDatatypes.$fDataCompany_$cgunfold}, + {CompanyDatatypes.$fDataCompany_$ctoConstr}, + {CompanyDatatypes.$fDataCompany_$cdataTypeOf}, + {CompanyDatatypes.$fDataCompany_$cdataCast1}, + {CompanyDatatypes.$fDataCompany_$cdataCast2}, + {CompanyDatatypes.$fDataCompany_$cgmapT}, + {CompanyDatatypes.$fDataCompany_$cgmapQl}, + {CompanyDatatypes.$fDataCompany_$cgmapQr}, + {CompanyDatatypes.$fDataCompany_$cgmapQ}, + {CompanyDatatypes.$fDataCompany_$cgmapQi}, + {CompanyDatatypes.$fDataCompany_$cgmapM}, + {CompanyDatatypes.$fDataCompany_$cgmapMp}, + {CompanyDatatypes.$fDataCompany_$cgmapMo}]] +CompanyDatatypes.$fDataCompany = + Data.Data.D:Data + @ CompanyDatatypes.Company + (CompanyDatatypes.$fTypeableCompany_$ctypeOf + `cast` (Sym + <(Data.Typeable.Internal.NTCo:Typeable )> + :: (CompanyDatatypes.Company -> Data.Typeable.Internal.TypeRep) + ~# + Data.Typeable.Internal.Typeable CompanyDatatypes.Company)) + CompanyDatatypes.$fDataCompany_$cgfoldl + CompanyDatatypes.$fDataCompany_$cgunfold + CompanyDatatypes.$fDataCompany_$ctoConstr + CompanyDatatypes.$fDataCompany_$cdataTypeOf + CompanyDatatypes.$fDataCompany_$cdataCast1 + CompanyDatatypes.$fDataCompany_$cdataCast2 + CompanyDatatypes.$fDataCompany_$cgmapT + CompanyDatatypes.$fDataCompany_$cgmapQl + CompanyDatatypes.$fDataCompany_$cgmapQr + CompanyDatatypes.$fDataCompany_$cgmapQ + CompanyDatatypes.$fDataCompany_$cgmapQi + CompanyDatatypes.$fDataCompany_$cgmapM + CompanyDatatypes.$fDataCompany_$cgmapMp + CompanyDatatypes.$fDataCompany_$cgmapMo + + +