add Transducer.compose and change transduce sig. for prettier reductions