In Data.Map we see
mapKeysMonotonic :: (k1->k2) -> Map k1 a -> Map k2 a
mapKeysMonotonic _ Tip = Tip
mapKeysMonotonic f (Bin sz k x l r) =
Bin sz (f k) x (mapKeysMonotonic f l) (mapKeysMonotonic f r)
{-# INLINE mapKeysMonotonic #-}
But mapKeysMonotonic is recursive, so it isn’t going to get inlined. Lint bleats about this.
Remove the pragma?
Same for Data.IntMap.submapCmp, which is again recursive.
Incidentally submapCmp is a MASSIVE function to put an INLINE pragma on! Do you really need this much inlining?
Simon