hasStableCoreUnfolding_maybe :: Unfolding -> Maybe Bool
-- Just True  <=> has stable inlining, very keen to inline (eg. INLINE pragma)
-- Just False <=> has stable inlining, open to inlining it (eg. INLINABLE pragma)
-- Nothing    <=> not stable, or cannot inline it anyway
hasStableCoreUnfolding_maybe (CoreUnfolding { uf_src = src, uf_guidance = guide })
   | isStableSource src
   = case guide of
       UnfWhen {}       -> Just True
       UnfIfGoodArgs {} -> Just False
       UnfNever         -> Nothing
hasStableCoreUnfolding_maybe :: Unfolding -> Maybe Bool
hasStableCoreUnfolding_maybe (CoreUnfolding { uf_src = src, uf_guidance = guide })
   | isStableSource src
   = case guide of
       UnfWhen {}       -> Just True
       UnfIfGoodArgs {} -> Just False
       UnfNever         -> Nothing
hasStableCoreUnfolding_maybe (CoreUnfolding { uf_src = src, uf_guidance = guide })
   | isStableSource src
   = case guide of
       UnfWhen {}       -> Just True
       UnfIfGoodArgs {} -> Just False
       UnfNever         -> Nothing