primes = {2..} \ {{2p, 3p..} for p in primes}, what's the problem?
primes = {2..} \ {{2p, 3p..} for p in primes}
length(xs)==0 is the same as null(xs), is it not?
length(xs)==0
null(xs)
null( {y for x in {1..} for y in {}} ), surely, must hold?
null( {y for x in {1..} for y in {}} )