Prefer explicit methods over delegates for predicates
What does this MR do?
Predicate methods should return a boolean value, however when we delegate
with allow_nil
to properly handle non-extant relations, we end up with true
, false
, and nil
as possible responses. While we generally are loose about nil
being equivalent to false
in Ruby, I feel like a predicate method is a special signal that we very much care about the boolean-nature of its response.
Related to !54262 (merged)