Normally I would prefer a go implementation given the option (especially since this is network focused), but I was surprised to see that the go implementation of wiregaurd (not headscale, just the vanilla wiregaurd-go) is considerably slower than the rust or C version.
The rust version (not that I'm that rust guy) may be the optimum for maintainability/readability and speed.