Have you considered doing this in OCaml?

You'd get most of the benefits of Go and Rust.