We should consider other rewrites for exists. For q4, another rewrite is an inner join + distinct:
count(distinct l_orderkey) as order_count
from lineitem l
inner join orders o
on (o.o_orderkey = l.l_orderkey and
l.l_commitdate < l.l_receiptdate)
o_orderdate >= '1993-07-01' and
o_orderdate < '1993-10-01'
This can run much faster because we have more flexibility on how we execute the inner join. We get killed partitioning lineitem now.