I'm all for it, and lots of Bun APIs are purely practical. Bun.stringWidth, for example, exposes code Bun already has internally. Nodejs probably has the same thing, but instead of us being able to use it, it gets reimplemented in 10 different versions in node_modules. How is that better?
I doubt the Bun team will have to change the S3 code very much over the years. The test runner, bundler, Postgres client, sure, I can see those being harder to maintain. But I'm also tired of everyone assuming everything needs to change all of the time. DX aside, my team is still on Webpack and we've only needed one new feature from it in the last ~5 years. Why can't Bun's bundler reach maturity and only receive a few updates?
So was XML before, and SGML before it. De-facto changes over time, and backwards compatibility means your decisions are cast in stone.
In 20 years, you could see s3 being abandoned for newer formats, but bun will have to keep those packages.
Ongoing maintenance burden. Ever increasing API, mistakes set in stone, subpar performance or properties.
"Standard library is where libraries go to die." exists as a saying for reason.
Finding documentation on that standard (particularly the edge cases) is very difficult
I feel like HN is on cognitive dissonance, they complain JS projects having too many dependencies and they also complain now when things are more integrated into the runtime because it increases vendor-lock and few extra megabytes (actually kilobytes according to the devs) to the binaries :/.
Lastly, big companies also prefer less dependencies, it is not just devs.