So I'm reading through https://doc.rust-lang.org/book/error-handling.html
, and I really don't feel like I understand map. In the examples it seems like it's applying a function only to a single value, (if it exists) contained in an Option<T>. This seems really different to the semantics of map in other languages (eg haskell, python), in which it will apply a function to a list. Is there a reason for the difference?