1.The theory shows let _: () = conn.set("mykey", "myvalue").await?;. Why is the explicit : () type annotation on the discarded result needed?
2.According to the theory, what makes a multiplexed async connection suitable for sharing across multiple Tokio tasks?
3.In the Rust redis client, how is a lookup of a key that has expired (or never existed) represented when you use the appropriate return type?
4.The theory brings AsyncCommands into scope with use redis::AsyncCommands;. What role does this play for calling .set and .get on a connection?
5.Based on the theory, which is the correct way to store a value that should automatically expire after a number of seconds?
Answer every question to submit.