more optimizations, and a big chunk of query evaluation in CCLinq