Optional chaining on prefix operators

There's been several discussions about adding some sort of support for the operation of "call function f only if arguments a, b, ... are non-nil" (most recently, I believe, here).

The ultimate goal being to allow something like:

func foo(arg: String) { ... }

let str: String? = maybeGetAString()
foo(str?) // evaluate foo only if str is non-nil

I would hope that any attempt to address the issue raised in that thread would naturally extend to operators as well.