So the extra polymorphism in the function space would be invisible.
Not quite. It would be visible to anyone who cares about the type of (->), which would now be more elaborate. This includes people using type-level type application (https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0015-type-level-type-applications.rst), whose implementation is under way by a student of mine, and anyone looking at the TypeRep of (->). I'm not overly concerned by these bumps, but I don't want to overclaim that everyone who doesn't use -XLinearTypes will be utterly unaffected.