[handle lazy demanding of lambdas properly
John Meacham <john@repetae.net>**20060718031303] hunk ./E/Demand.hs 260
+
+analyze (ELam x e) (L (Product [s])) = do
+    (e',phi :=> sigma) <- analyze e s
+    let sx = lenv x phi
+    return (ELam (tvrInfo_u (Info.insert sx) x) e',lazify (demandEnvMinus phi x) :=> (sx:sigma))
hunk ./E/Demand.hs 266
+analyze (ELam x e) (L None) = analyze (ELam x e) (L (Product [lazy]))  -- simply to ensure binder is annotated
+analyze (ELam x e) (Error None) = analyze (ELam x e) (Error (Product [lazy]))  -- simply to ensure binder is annotated
hunk ./E/Demand.hs 304
+lazify (DemandEnv x r) = DemandEnv (Map.map (const lazy) x) r