I suspect that Gleam is quite different in that regard.
As for the GC systems language, there is even a book about it,
The Haskell's STM and channels implemented in it allow for most (or all) of the Go "select" statement, but in a library, not language.
Haskell is more like a Rust of FP. But Rust is also much more pragmatic than Haskell.
OCaml is in many ways a sane Typescript or a functional version of Go.
Basically, it seems, it's Erlang for OCaml. Hot reloading would be a cool feature, though, but I can see why it's not implemented, at least not yet.. I recall the OCaml native toplevel is able to load code in dynamically, so that could be the mechanism to do it.
It seems to use open types for handling messages (per just looking at https://github.com/riot-ml/riot/tree/main/examples/3-message...) reducing the benefits of exhaustiveness checking, but it still seems rather interesting!