Why the `std::future::join` is pending long?

Hi,
It surprises me why the std::future::join is still in unstable for years? Whenever we write async/await code we have to either use tokio's join or futures's join! instead.
If we want to use async-std then we have to use futures as well otherwise no join. Any reasons behind?
Can we use just async-std (no futures nor tokio) and we can join multiple async-tasks?

Thanks.

If you use async-std, the intent is that you will also use futures. Only Tokio attempts to avoid that requirement.