[clean up and make more efficient code dealing with properties
John Meacham <john@repetae.net>**20070606073307] hunk ./E/Inline.hs 49
-    | otherwise  = member prop_INLINE props  || member prop_WRAPPER props || member prop_SUPERINLINE props
+    | otherwise  = fromList [prop_INLINE,prop_WRAPPER,prop_SUPERINLINE] `intersects` props
hunk ./E/Inline.hs 60
-forceNoinline x
-    | member prop_HASRULE props || member prop_NOINLINE props || member prop_PLACEHOLDER props = True
-    | otherwise = False
-    where props = getProperties x
+forceNoinline x  = fromList [prop_HASRULE,prop_NOINLINE,prop_PLACEHOLDER] `intersects` getProperties x
hunk ./E/WorkerWrapper.hs 12
+import E.Program
hunk ./E/WorkerWrapper.hs 16
-import E.Program
hunk ./E/WorkerWrapper.hs 17
-import qualified Info.Info as Info
hunk ./E/WorkerWrapper.hs 24
+import qualified Info.Info as Info
hunk ./E/WorkerWrapper.hs 80
-    | member prop_WRAPPER props = fail "already a wrapper"
-    | member prop_INLINE props || member prop_SUPERINLINE props = fail "going to be inlined"
-    | member prop_NOINLINE props || member prop_PLACEHOLDER props = fail "not going to be inlined"
-    where props = getProperties tvr
+    | badProps `intersects` getProperties tvr = fail "Don't workwrap this"
+    where badProps = fromList [prop_WRAPPER,prop_INLINE,prop_SUPERINLINE,prop_PLACEHOLDER,prop_NOINLINE]
hunk ./E/WorkerWrapper.hs 98
-    nprops = toList $ getProperties tvr `intersection` fromList [prop_JOINPOINT, prop_ONESHOT]
-    ans = doTicks >> return ((setProperty prop_WRAPPER tvr,wrapper),(setProperties (prop_WORKER:nprops) tvr',worker))
-    tvr' = TVr { tvrIdent = workerName (tvrIdent tvr), tvrInfo = mempty, tvrType = wt }
+    nprops = insert prop_WORKER $ getProperties tvr `intersection` fromList [prop_JOINPOINT, prop_ONESHOT]
+    ans = doTicks >> return ((setProperty prop_WRAPPER tvr,wrapper),(tvr',worker))
+    tvr' = putProperties nprops $ TVr { tvrIdent = workerName (tvrIdent tvr), tvrInfo = mempty, tvrType = wt }