In Julia 0.7 what is the consensus about the best practice for handling missing arguments in combination with functions that do not accept `missing`

values by design?

What I mean is that currently we have for example:

```
julia> x= ["A", "b", "AB", missing]
4-element Array{Union{Missing, String},1}:
"A"
"b"
"AB"
missing
julia> lowercase.(x)
ERROR: MethodError: no method matching lowercase(::Missing)
```

so what you have to do is:

```
broadcast(v-> ismissing(v) ? missing : lowercase(v), x)
```

if I remember there were earlier discussions about this but I could not find the conclusion. What essentially I am looking for is a function similar to `skipmissing`

but passing them through like (probably a shorter name would be nice as this function would be heavily used):

```
passmissing(f, x) = ismissing(x) ? missing : f(x) # maybe this special case is not needed if the later is fast for f accepting a single argument
passmissing(f, x...) = any(ismissing, x) ? missing : f(x...)
```

and now you can write `passmissing.(lowercase, x)`

to get the desired result.