Crystal’s concurrency model is already modeled after Go’s.
I haven’t looked deeply into Rust (only dabbled) and I haven’t used Java for anything serious in over 10 years, but what I’ve seen in both is that applications use kernel threads directly. Is that not the case anymore?