Why is it so difficult to get user input in Rust?