You might choose to believe that, but `Option` and `Result` are practically purpose-built in Rust to work
extremely well with functional approaches.
And doing so greatly increases the likelihood that the compiler can produce perfectly optimal code around them.