optimization for #union
experimental optimization for #intersection

might revert this eventually
small optimization for ArrayWrapper#each

can't believe I didn't do this earlier