Protocol for concrete seq types that can reduce themselves faster than first/next recursion. Called by clojure.core/reduce.