Performance question: "x is_type boolean" or "x <type> value"

That’s a good point. The second approach replaces one large predicate with many smaller predicates, which scales better when using a larger cluster.