nl_tokens: Play the given AsyncIterable and then play back that AsyncIterable in reverse
pl_tokens: function doppler ( it ) { return __asyncGenerator ( this , arguments , function * doppler_1 ( ) { var e_27 , _a ; const buffer = [ ] ; try { for ( var it_7 = __asyncValues ( it ) , it_7_1 ; it_7_1 = yield __await ( it_7 . next ( ) ) , ! it_7_1 . done ; ) { const item = it_7_1 . value ; buffer . push ( item ) ; yield yield __await ( item ) ; } } catch ( e_27_1 ) { e_27 = { error : e_27_1 } ; } finally { <mask> { if ( it_7_1 && ! it_7_1 . done && ( _a = it_7 . return ) ) yield __await ( _a . call ( it_7 ) ) ; } finally { if ( e_27 ) throw e_27 . error ; } } buffer . reverse ( ) ; yield __await ( yield * __asyncDelegator ( __asyncValues ( buffer ) ) ) ; } ) ; }