i can't say i blame developers for taking the lazy route and doing the bare minimum to be compatible with what already exists, but that is so limiting and i'm not here for it
the bigger problem is that there's so many assumptions being made with zero basis or foundation in anything. we're just replicating stuff around and then every server assembles it however it *thinks* it should be put together.
Those goals might be at odds with a distributed system, though.
With the shortcomings inherent to federation, it's hard to say for sure that such conversations are particularly possible.
So we have people trying to shoehorn functionality that's not right for the tools, and it's not working so well. Perhaps they simply shouldn't.