[PSA] Swapping out `_or_null` with `_if_present`

A year later, both if_present and or_null are used indiscriminately and inconsistently, as I think for most users it’s a distinction
without a difference. We don’t really seem to agree on “soft deprecation” (which isn’t really documented afaik), and silent deprecation are hard to enforce in code reviews anyway.

I agree with other on this thread, the “new” name is fine, the “old” name is also fine.
But I don’t like the current status quo of effectively randomly using either name (with both pointers and nor pointers),
reviewers giving inconsistent guidance (in Clang we somewhat operated under the depreciation assumption but don’t try to enforce it strongly as it feels a bit pointless)

Constraining _if_null to work on pointer-like types and _if_present to work on optional-like types seems like a great path forward.

2 Likes