Take more care with unlifted bindings in the specialiser
As #22998 (closed) showed, we were floating an unlifted binding to top level, which breaks a Core invariant.
The fix is easy, albeit a little bit conservative. See
Note [Care with unlifted bindings]
in GHC.Core.Opt.Specialise