What language is this? I'd expect a language with a ? -type would not use an Optional type at all.
In languages such as OCaml, Haskell and Rust this of course works as you say.
In languages such as OCaml, Haskell and Rust this of course works as you say.