Reorder GHC.List; fix performance regressions
Reorder GHC.List; fix performance regressions

Rearrange some oddly placed code.

Modify `take` to make the fold unconditionally strict in the passed
`Int`. This clears up the `fft2` regression.
This fixes #9740. Differential Revision: https://phabricator.haskell.org/D390

gcampax/ghc,snoyberg/ghc,fmthoma/ghc,acowley/ghc,jstolarek/ghc,TomMD/ghc,vTurbine/ghc,gcampax/ghc,ghc-android/ghc,elieux/ghc,TomMD/ghc,siddhanathan/ghc,wxwxwwxxx/ghc,snoyberg/ghc,elieux/ghc,ezyang/ghc,GaloisInc/halvm-ghc,mfine/ghc,nkaretnikov/ghc,urbanslug/ghc,forked-upstream-packages-for-ghcjs/ghc,ezyang/ghc,gridaphobe/ghc,gridaphobe/ghc,nushio3/ghc,vTurbine/ghc,mettekou/ghc,olsner/ghc,GaloisInc/halvm-ghc,nushio3/ghc,olsner/ghc,wxwxwwxxx/ghc,forked-upstream-packages-for-ghcjs/ghc,fmthoma/ghc,bitemyapp/ghc,oldmanmike/ghc,vikraman/ghc,mfine/ghc,ghc-android/ghc,ml9951/ghc,ghc-android/ghc,ml9951/ghc,jstolarek/ghc,vikraman/ghc,siddhanathan/ghc,forked-upstream-packages-for-ghcjs/ghc,GaloisInc/halvm-ghc,shlevy/ghc,bitemyapp/ghc,da-x/ghc,mcschroeder/ghc,tjakway/ghcjvm,christiaanb/ghc,sgillespie/ghc,sdiehl/ghc,shlevy/ghc,wxwxwwxxx/ghc,mettekou/ghc,urbanslug/ghc,gcampax/ghc,green-haskell/ghc,nathyong/microghc-ghc,oldmanmike/ghc,shlevy/ghc,olsner/ghc,nkaretnikov/ghc,sgillespie/ghc,bitemyapp/ghc,TomMD/ghc,mfine/ghc,bitemyapp/ghc,nkaretnikov/ghc,shlevy/ghc,elieux/ghc,ezyang/ghc,sdiehl/ghc,siddhanathan/ghc,sdiehl/ghc,elieux/ghc,jstolarek/ghc,mettekou/ghc,anton-dessiatov/ghc,nushio3/ghc,nathyong/microghc-ghc,GaloisInc/halvm-ghc,siddhanathan/ghc,nathyong/microghc-ghc,tjakway/ghcjvm,tjakway/ghcjvm,jstolarek/ghc,acowley/ghc,ezyang/ghc,vTurbine/ghc,snoyberg/ghc,sgillespie/ghc,nkaretnikov/ghc,christiaanb/ghc,AlexanderPankiv/ghc,sdiehl/ghc,gridaphobe/ghc,mcschroeder/ghc,acowley/ghc,da-x/ghc,acowley/ghc,anton-dessiatov/ghc,vikraman/ghc,TomMD/ghc,sgillespie/ghc,gcampax/ghc,ghc-android/ghc,TomMD/ghc,nkaretnikov/ghc,siddhanathan/ghc,anton-dessiatov/ghc,olsner/ghc,gridaphobe/ghc,fmthoma/ghc,sdiehl/ghc,jstolarek/ghc,GaloisInc/halvm-ghc,ml9951/ghc,GaloisInc/halvm-ghc,forked-upstream-packages-for-ghcjs/ghc,tjakway/ghcjvm,nushio3/ghc,anton-dessiatov/ghc,shlevy/ghc,olsner/ghc,mcschroeder/ghc,ezyang/ghc,AlexanderPankiv/ghc,ml9951/ghc,mfine/ghc,forked-upstream-packages-for-ghcjs/ghc,tjakway/ghcjvm,sdiehl/ghc,nathyong/microghc-ghc,nushio3/ghc,da-x/ghc,acowley/ghc,mfine/ghc,siddhanathan/ghc,AlexanderPankiv/ghc,wxwxwwxxx/ghc,vikraman/ghc,nathyong/microghc-ghc,mcschroeder/ghc,gcampax/ghc,vikraman/ghc,christiaanb/ghc,fmthoma/ghc,green-haskell/ghc,siddhanathan/ghc,forked-upstream-packages-for-ghcjs/ghc,green-haskell/ghc,da-x/ghc,snoyberg/ghc,bitemyapp/ghc,ghc-android/ghc,GaloisInc/halvm-ghc,mettekou/ghc,AlexanderPankiv/ghc,shlevy/ghc,gcampax/ghc,wxwxwwxxx/ghc,snoyberg/ghc,nkaretnikov/ghc,green-haskell/ghc,ghc-android/ghc,mettekou/ghc,anton-dessiatov/ghc,ml9951/ghc,urbanslug/ghc,ml9951/ghc,da-x/ghc,nkaretnikov/ghc,green-haskell/ghc,sdiehl/ghc,christiaanb/ghc,ghc-android/ghc,gcampax/ghc,nathyong/microghc-ghc,gridaphobe/ghc,acowley/ghc,forked-upstream-packages-for-ghcjs/ghc,urbanslug/ghc,shlevy/ghc,elieux/ghc,vTurbine/ghc,da-x/ghc,urbanslug/ghc,anton-dessiatov/ghc,elieux/ghc,christiaanb/ghc,nushio3/ghc,tjakway/ghcjvm,ezyang/ghc,vTurbine/ghc,oldmanmike/ghc,vikraman/ghc,sgillespie/ghc,oldmanmike/ghc,gridaphobe/ghc,fmthoma/ghc,AlexanderPankiv/ghc,olsner/ghc,snoyberg/ghc,vikraman/ghc,mcschroeder/ghc,sgillespie/ghc,ezyang/ghc,da-x/ghc,mettekou/ghc,sgillespie/ghc,oldmanmike/ghc,elieux/ghc,vTurbine/ghc,mettekou/ghc,fmthoma/ghc,snoyberg/ghc,urbanslug/ghc,wxwxwwxxx/ghc,nushio3/ghc,nathyong/microghc-ghc,fmthoma/ghc,ml9951/ghc,AlexanderPankiv/ghc,AlexanderPankiv/ghc,urbanslug/ghc,oldmanmike/ghc,tjakway/ghcjvm,vTurbine/ghc,anton-dessiatov/ghc,gridaphobe/ghc,wxwxwwxxx/ghc,christiaanb/ghc,mfine/ghc,TomMD/ghc,mfine/ghc,ml9951/ghc,TomMD/ghc,olsner/ghc,christiaanb/ghc,mcschroeder/ghc,oldmanmike/ghc,mcschroeder/ghc,acowley/ghc