[update strictness and UNPACK annotations
John Meacham <john@repetae.net>**20100801080035
 Ignore-this: e598a6098143c1a62373a443865b3cfb
] hunk ./src/C/Prims.hs 18
-    primTypeType :: PrimTypeType,
-    primTypeAlignmentOf :: !Int,
-    primTypeIsSigned :: !Bool,
-    primTypeSizeOf :: !Int
+    primTypeType :: {-# UNPACK #-} !PrimTypeType,
+    primTypeAlignmentOf :: {-# UNPACK #-} !Int,
+    primTypeIsSigned :: {-# UNPACK #-} !Bool,
+    primTypeSizeOf :: {-# UNPACK #-} !Int
hunk ./src/C/Prims.hs 44
-        funcIOLike :: !Bool,
+        funcIOLike :: {-# UNPACK #-} !Bool,
hunk ./src/C/Prims.hs 50
-        funcIOLike :: !Bool,
+        funcIOLike :: {-# UNPACK #-} !Bool,
hunk ./src/C/Prims.hs 54
-    | AddrOf PackedString              -- address of linker name
+    | AddrOf PackedString          -- address of linker name
hunk ./src/C/Prims.hs 60
-        primTypeInfo :: PrimTypeInfo
+        primTypeInfo :: {-# UNPACK #-} !PrimTypeInfo
hunk ./src/C/Prims.hs 64
-        primStatic :: !Bool,
+        primStatic :: {-# UNPACK #-} !Bool,
hunk ./src/C/Prims.hs 66
-        primIOLike :: !Bool,
+        primIOLike :: {-# UNPACK #-} !Bool,
hunk ./src/Cmm/Op.hs 149
-data TyBits = Bits !Int | BitsArch !ArchBits |  BitsExt String
+data TyBits = Bits {-# UNPACK #-} !Int | BitsArch {-# UNPACK #-} !ArchBits |  BitsExt String
hunk ./src/Cmm/Op.hs 163
-    = TyBits !TyBits !TyHint
+    = TyBits !TyBits {-# UNPACK #-} !TyHint
hunk ./src/DataConstructors.hs 127
-    DataAbstract        -- abstract internal type, has children of representation unknown and irrelevant.
-    | DataNone          -- children don't apply. data constructor for instance
-    | DataPrimitive     -- primitive type, children are all numbers.
-    | DataEnum !Int     -- bounded integral type, argument is maximum number
-    | DataNormal [Name] -- child constructors
+    DataAbstract                   -- abstract internal type, has children of representation unknown and irrelevant.
+    | DataNone                     -- children don't apply. data constructor for instance
+    | DataPrimitive                -- primitive type, children are all numbers.
+    | DataEnum {-# UNPACK #-} !Int -- bounded integral type, argument is maximum number
+    | DataNormal [Name]            -- child constructors
hunk ./src/DataConstructors.hs 144
-    conAlias     :: AliasType,    -- whether this is a simple alias and has no tag of its own.
+    conAlias     :: {-# UNPACK #-} !AliasType, -- whether this is a simple alias and has no tag of its own.
hunk ./src/E/Demand.hs 56
-data DemandSignature = DemandSignature !Int !DemandType
+data DemandSignature = DemandSignature {-# UNPACK #-} !Int !DemandType
hunk ./src/E/SSimplify.hs 74
-    useOccurance :: !Occurance,   -- ^ occurance Info
-    minimumArgs  :: !Int          -- ^ minimum number of args that are ever passed to this function (if used)
+    useOccurance :: {-# UNPACK #-} !Occurance,   -- ^ occurance Info
+    minimumArgs  :: {-# UNPACK #-} !Int          -- ^ minimum number of args that are ever passed to this function (if used)
hunk ./src/E/SSimplify.hs 292
-    so_noInlining :: Bool,                 -- ^ this inhibits all inlining inside functions which will always be inlined
-    so_finalPhase :: Bool,                 -- ^ no rules and don't inhibit inlining
-    so_postLift   :: Bool,                 -- ^ don't inline anything that was lifted out
+    so_noInlining :: {-# UNPACK #-} !Bool, -- ^ this inhibits all inlining inside functions which will always be inlined
+    so_finalPhase :: {-# UNPACK #-} !Bool, -- ^ no rules and don't inhibit inlining
+    so_postLift   :: {-# UNPACK #-} !Bool, -- ^ don't inline anything that was lifted out
hunk ./src/Fixer/Fixer.hs 83
-    vars :: !(IORef [MkFixable]),
-    todo :: !(IORef (Set.Set MkFixable))
+    vars :: {-# UNPACK #-} !(IORef [MkFixable]),
+    todo :: {-# UNPACK #-} !(IORef (Set.Set MkFixable))
hunk ./src/Fixer/Fixer.hs 118
-    action :: !(IORef [a -> IO ()]),
-    pending :: !(IORef a),
-    current :: !(IORef a),
+    action :: {-# UNPACK #-} !(IORef [a -> IO ()]),
+    pending :: {-# UNPACK #-} !(IORef a),
+    current :: {-# UNPACK #-} !(IORef a),
hunk ./src/Fixer/Supply.hs 19
-data Supply b a = Supply Fixer (IORef (Map.Map b (Value a)))
+data Supply b a = Supply Fixer {-# UNPACK #-} !(IORef (Map.Map b (Value a)))
hunk ./src/FrontEnd/Rename.hs 49
-    unique         :: !Int,
+    unique         :: {-# UNPACK #-} !Int,
hunk ./src/FrontEnd/Representation.hs 81
-    metaType :: MetaVarType
+    metaType :: {-# UNPACK #-} !MetaVarType
hunk ./src/FrontEnd/SrcLoc.hs 15
-data SrcLoc = SrcLoc { srcLocFileName :: String, srcLocLine :: !Int, srcLocColumn :: !Int}
+data SrcLoc = SrcLoc { srcLocFileName :: String, srcLocLine :: {-# UNPACK #-} !Int, srcLocColumn :: {-# UNPACK #-}  !Int}
hunk ./src/Ho/Build.hs 211
-data CompNode = CompNode !HoHash [CompNode] !(IORef CompLink)
+data CompNode = CompNode !HoHash [CompNode] {-# UNPACK #-} !(IORef CompLink)