Is there a strong use-case for it? All I can think of is already handled better by if let or dedicated Option/Result methods.
I’ve only used it by accident when I forgot to unwrap a value and instead of getting type error in the right place, I ended up with a “loop” that doesn’t make sense.
If it’s not used in the wild, can it be deprecated and eventually removed?
I do use it, for example if I want to optionally append something to another iterator and I already have it as an Option. It could be worked around without it, but I find it handy ‒ after all, Option is a container with 0 or 1 element.
Although, that would be fine with just having it as an inherent method. It could be useful in the opposite direction as well to turn an iterator of optional values into an iterator over just the existing values, which would require the IntoIterator implementation.