Begin rewrite based on underscore-transducer and transduce-async