{-
Apply some heuristics, putting predicates in a regular form
and simplify easy cases, so that our fix-point is likely to converge sooner,
and so that it won't get too large in size
-}
simplifyOneLevelPred :: Expression -> Expression
simplifyOneLevelPred (LNot (BoolLit True)) = BoolLit False
simplifyOneLevelPred :: Expression -> Expression
simplifyOneLevelPred (LNot (BoolLit True)) = BoolLit False
simplifyOneLevelPred (LNot (BoolLit True)) = BoolLit False