I think it is a theoretical question.
The notion of optional values was brought from functional languages world. Those languages usually also support pattern matching on language level and allow you to pattern match on the optional value.
In functional languages function calls usually return an optional value that other code could pattern match on.
I have never seen passing an optional as argument, but that does not mean it is a bad think. It looks weird though.