Add sorted take optimizations

closes #880

Should be good enough, I think.
why can't you just return ```this```?