I am no Haskell expert, so I might be wrong on this, but is that code right ? I would imagine the fourth line should read
isIfOfInterest (CIf cond _ _ _) = not (null (listify isFooIdent cond))
not isIfOfInterest (CIf cond _ _ _) = not (null (listify fooIdent cond))