Why was adding std::net such bigger ordeal than std::filesystem?

Now, I am not saying that `std::filesystem` was added promptly. C++ was the last language that I use to add it by a long delay after the others. But it was added.

It seems that sockets and filesystem calls are a similar number of OS functions to cover with a generic interface. Why is it that `std::filesystem` was done a few years ago, but `std::net` is still very much in progress?

Is there a lot to networking that I don't know about. If so, couldn't the more complex stuff (holepunching etc) be added later?