no one is disputing that there are conditional changes in dependencies depending on library versions.
Indeed. But the ghc release that split up base broke cabalised packages with no warning to users until they failed to compile. Upper bounds were put in place to avoid that kind of breakage in the future.
--