If the test of an {{if}} has a tag of {{clj-nil}} then the else branch will always be taken. If this is the result of something that is not the constant {{nil}}, we can warn.
Likewise if the test of an {{if}} has a tag that cannot yield a falsey value (for example 1. }}), then the then branch will always be taken and we can likewise warn that the test is vacuous.