How about defining ? to be an ordinary function (when it’s not used as if)? It would let you use different ? locally (like you can do it with, e.g., *):
let ? = passmissing
match?.(r"a", x)
end
It may also be nice to be able define arbitrary lifting functions (say) using unicode combining characters:
const ?̃ = mylift
f?̃(x)