Why are missing values not ignored by default?

With the MissingSkipper wrapper proposed above, the behavior of adding skipmissing to every argument would just be a fallback. The wrapper function can be overloaded to have the proper behavior for each function:

(s::MissingSkipper{typeof(quantile)})(x, p; kwargs...) =
    quantile(skipmissing(x), p; kwargs...)

Then quantile?(x, p) would work as expected.

But if ? supports both vectors and functions as proposed then we could also just write

quantile(xs?, [0.1, 0.2])
reduce(+, xs?)
1 Like