Improve full laziness by floating allocations out of value lambdas
Improve full laziness by floating allocations out of value lambdas

This patch simplifies the code slightly, and simultaneously improves
full laziness by floating allocations (lambdas, constructor apps) out
of loops.

See Note [Escaping a value lambda] in SetLevels, which explains.

There's a test that shows it up: simplrun009

This relevant to SpecConstr, because a call looks like
	f lvl
instead of
	f (\x. blah)
and the latter is easier to match in a robust way.


mettekou/ghc,urbanslug/ghc,ml9951/ghc,acowley/ghc,ekmett/ghc,christiaanb/ghc,spacekitteh/smcghc,wxwxwwxxx/ghc,nushio3/ghc,gcampax/ghc,wxwxwwxxx/ghc,elieux/ghc,christiaanb/ghc,forked-upstream-packages-for-ghcjs/ghc,fmthoma/ghc,snoyberg/ghc,mettekou/ghc,oldmanmike/ghc,ml9951/ghc,sgillespie/ghc,wxwxwwxxx/ghc,hferreiro/replay,holzensp/ghc,hferreiro/replay,sgillespie/ghc,anton-dessiatov/ghc,hferreiro/replay,GaloisInc/halvm-ghc,sdiehl/ghc,bitemyapp/ghc,christiaanb/ghc,vikraman/ghc,mcmaniac/ghc,ryantm/ghc,mcmaniac/ghc,AlexanderPankiv/ghc,mfine/ghc,ml9951/ghc,TomMD/ghc,gcampax/ghc,oldmanmike/ghc,lukexi/ghc,wxwxwwxxx/ghc,elieux/ghc,tjakway/ghcjvm,AlexanderPankiv/ghc,acowley/ghc,nathyong/microghc-ghc,vTurbine/ghc,fmthoma/ghc,oldmanmike/ghc,lukexi/ghc-7.8-arm64,vikraman/ghc,snoyberg/ghc,siddhanathan/ghc,sdiehl/ghc,green-haskell/ghc,sdiehl/ghc,siddhanathan/ghc,da-x/ghc,mettekou/ghc,vikraman/ghc,nkaretnikov/ghc,gcampax/ghc,oldmanmike/ghc,nathyong/microghc-ghc,jstolarek/ghc,mfine/ghc,GaloisInc/halvm-ghc,olsner/ghc,bitemyapp/ghc,green-haskell/ghc,ekmett/ghc,sgillespie/ghc,shlevy/ghc,hferreiro/replay,snoyberg/ghc,tjakway/ghcjvm,hferreiro/replay,urbanslug/ghc,lukexi/ghc,sgillespie/ghc,shlevy/ghc,tibbe/ghc,fmthoma/ghc,lukexi/ghc-7.8-arm64,mcmaniac/ghc,mcschroeder/ghc,GaloisInc/halvm-ghc,sdiehl/ghc,sdiehl/ghc,tjakway/ghcjvm,tjakway/ghcjvm,siddhanathan/ghc,nushio3/ghc,ryantm/ghc,ilyasergey/GHC-XAppFix,olsner/ghc,ilyasergey/GHC-XAppFix,holzensp/ghc,mcmaniac/ghc,olsner/ghc,forked-upstream-packages-for-ghcjs/ghc,fmthoma/ghc,nkaretnikov/ghc,elieux/ghc,TomMD/ghc,gridaphobe/ghc,anton-dessiatov/ghc,ghc-android/ghc,jstolarek/ghc,vTurbine/ghc,oldmanmike/ghc,TomMD/ghc,sgillespie/ghc,elieux/ghc,ryantm/ghc,nomeata/ghc,wxwxwwxxx/ghc,lukexi/ghc,ghc-android/ghc,mettekou/ghc,sdiehl/ghc,oldmanmike/ghc,GaloisInc/halvm-ghc,da-x/ghc,tibbe/ghc,GaloisInc/halvm-ghc,AlexanderPankiv/ghc,snoyberg/ghc,vikraman/ghc,frantisekfarka/ghc-dsi,nushio3/ghc,elieux/ghc,ilyasergey/GHC-XAppFix,gridaphobe/ghc,tibbe/ghc,gridaphobe/ghc,ml9951/ghc,nushio3/ghc,shlevy/ghc,ml9951/ghc,lukexi/ghc,ezyang/ghc,nushio3/ghc,olsner/ghc,acowley/ghc,ekmett/ghc,forked-upstream-packages-for-ghcjs/ghc,mcschroeder/ghc,da-x/ghc,ezyang/ghc,tibbe/ghc,shlevy/ghc,AlexanderPankiv/ghc,hferreiro/replay,ezyang/ghc,holzensp/ghc,urbanslug/ghc,tibbe/ghc,ghc-android/ghc,mfine/ghc,ezyang/ghc,TomMD/ghc,sdiehl/ghc,urbanslug/ghc,siddhanathan/ghc,spacekitteh/smcghc,ml9951/ghc,christiaanb/ghc,nomeata/ghc,vikraman/ghc,da-x/ghc,sgillespie/ghc,forked-upstream-packages-for-ghcjs/ghc,gcampax/ghc,anton-dessiatov/ghc,nomeata/ghc,frantisekfarka/ghc-dsi,gcampax/ghc,mfine/ghc,GaloisInc/halvm-ghc,urbanslug/ghc,acowley/ghc,mcmaniac/ghc,bitemyapp/ghc,mfine/ghc,elieux/ghc,vTurbine/ghc,ekmett/ghc,mcschroeder/ghc,vTurbine/ghc,mfine/ghc,holzensp/ghc,TomMD/ghc,gridaphobe/ghc,spacekitteh/smcghc,christiaanb/ghc,ghc-android/ghc,mcschroeder/ghc,gridaphobe/ghc,ghc-android/ghc,jstolarek/ghc,anton-dessiatov/ghc,vTurbine/ghc,ghc-android/ghc,hferreiro/replay,da-x/ghc,lukexi/ghc-7.8-arm64,green-haskell/ghc,TomMD/ghc,bitemyapp/ghc,mfine/ghc,mettekou/ghc,forked-upstream-packages-for-ghcjs/ghc,ekmett/ghc,siddhanathan/ghc,oldmanmike/ghc,forked-upstream-packages-for-ghcjs/ghc,lukexi/ghc-7.8-arm64,da-x/ghc,siddhanathan/ghc,forked-upstream-packages-for-ghcjs/ghc,da-x/ghc,vikraman/ghc,lukexi/ghc,gcampax/ghc,jstolarek/ghc,ml9951/ghc,GaloisInc/halvm-ghc,nathyong/microghc-ghc,ezyang/ghc,olsner/ghc,shlevy/ghc,mcschroeder/ghc,olsner/ghc,frantisekfarka/ghc-dsi,AlexanderPankiv/ghc,green-haskell/ghc,bitemyapp/ghc,ezyang/ghc,frantisekfarka/ghc-dsi,anton-dessiatov/ghc,jstolarek/ghc,mettekou/ghc,nkaretnikov/ghc,nathyong/microghc-ghc,snoyberg/ghc,ezyang/ghc,fmthoma/ghc,spacekitteh/smcghc,gcampax/ghc,nathyong/microghc-ghc,gridaphobe/ghc,ghc-android/ghc,lukexi/ghc-7.8-arm64,spacekitteh/smcghc,tjakway/ghcjvm,fmthoma/ghc,holzensp/ghc,vikraman/ghc,shlevy/ghc,AlexanderPankiv/ghc,fmthoma/ghc,tjakway/ghcjvm,nushio3/ghc,vTurbine/ghc,TomMD/ghc,mettekou/ghc,gridaphobe/ghc,siddhanathan/ghc,urbanslug/ghc,christiaanb/ghc,anton-dessiatov/ghc,acowley/ghc,nkaretnikov/ghc,acowley/ghc,olsner/ghc,ilyasergey/GHC-XAppFix,mcschroeder/ghc,snoyberg/ghc,green-haskell/ghc,mcschroeder/ghc,shlevy/ghc,nathyong/microghc-ghc,anton-dessiatov/ghc,ml9951/ghc,AlexanderPankiv/ghc,urbanslug/ghc,nomeata/ghc,nkaretnikov/ghc,tjakway/ghcjvm,acowley/ghc,nkaretnikov/ghc,vTurbine/ghc,wxwxwwxxx/ghc,nathyong/microghc-ghc,ryantm/ghc,nomeata/ghc,elieux/ghc,ryantm/ghc,nkaretnikov/ghc,snoyberg/ghc,sgillespie/ghc,frantisekfarka/ghc-dsi,christiaanb/ghc,wxwxwwxxx/ghc,nushio3/ghc