refactoring rust backend to use go style channel syntax `<-`.