//@ `parse` returns again a `Result`, and this time we use a `match` to handle errors (like, the user entering
//@ something that is not a number).
//@ This is a common pattern in Rust: Operations that could go wrong will return `Option` or `Result`.
//@ The only way to get to the value we are interested in is through pattern matching (and through helper functions
//@ `parse` returns again a `Result`, and this time we use a `match` to handle errors (like, the user entering
//@ something that is not a number).
//@ This is a common pattern in Rust: Operations that could go wrong will return `Option` or `Result`.
//@ The only way to get to the value we are interested in is through pattern matching (and through helper functions