noinline -package:ghc

The call noinline f arranges that f will not be inlined. It is removed during CorePrep so that its use imposes no overhead (besides the fact that it blocks inlining.)
Specify that an Implementation should be annotated with a NOINLINE pragma. Under GHC versions earlier than 6.12 this is a no-op, because those Template Haskell implementations do not support pragmas.
{ {-# NOINLINE ... #-} }
This attribute indicates that the inliner should never inline this function in any situation. This attribute may not be used together with the alwaysinline attribute.
Adds NOINLINE pragmas to all bindings in the module. This prevents the simple optimizer from inlining such bindings which might have specs that would otherwise be left dangling. https://gitlab.haskell.org/ghc/ghc/-/issues/24386