Pretty sure that even if `entry` and `entry.expired?` both return non-booleans that the `!` and `&&` operators will force that return value to be a boolean.