noFloatIntoExpr :: AnnExpr' Var (UniqFM Var) -> Bool
noFloatIntoExpr (AnnLam bndr e)
   = not (okToFloatInside (bndr:bndrs))
     -- NB: Must line up with fiExpr (AnnLam...); see Trac #7088
   where
     (bndrs, _) = collectAnnBndrs e
        -- IMPORTANT: don't say 'True' for a RHS with a one-shot lambda at the top.
        -- This makes a big difference for things like
        --      f x# = let x = I# x#
        --             in let j = \() -> ...x...
        --                in if <condition> then normal-path else j ()
        -- If x is used only in the error case join point, j, we must float the
        -- boxing constructor into it, else we box it every time which is very bad
        -- news indeed.
noFloatIntoExpr :: AnnExpr' Var (UniqFM Var) -> Bool
noFloatIntoExpr (AnnLam bndr e)
   = not (okToFloatInside (bndr:bndrs))
     -- NB: Must line up with fiExpr (AnnLam...); see Trac #7088
   where
     (bndrs, _) = collectAnnBndrs e
        -- IMPORTANT: don't say 'True' for a RHS with a one-shot lambda at the top.
        -- This makes a big difference for things like
        --      f x# = let x = I# x#
        --             in let j = \() -> ...x...
        --                in if <condition> then normal-path else j ()
        -- If x is used only in the error case join point, j, we must float the
        -- boxing constructor into it, else we box it every time which is very bad
        -- news indeed.
noFloatIntoExpr (AnnLam bndr e)
   = not (okToFloatInside (bndr:bndrs))
     -- NB: Must line up with fiExpr (AnnLam...); see Trac #7088
   where
     (bndrs, _) = collectAnnBndrs e
        -- IMPORTANT: don't say 'True' for a RHS with a one-shot lambda at the top.
        -- This makes a big difference for things like
        --      f x# = let x = I# x#
        --             in let j = \() -> ...x...
        --                in if <condition> then normal-path else j ()
        -- If x is used only in the error case join point, j, we must float the
        -- boxing constructor into it, else we box it every time which is very bad
        -- news indeed.