   pipeline.push PS.$watch ( d ) -> help jr d
   # pipeline.push PS.$watch ( d ) -> help '> sink  ', rprx d unless is_meta d
   pipeline.push PS.$watch ( d ) -> if ( select d, '~', 'end' ) then S.source.end()
-  pipeline.push $recycle resend
+  pipeline.push $recycle S.source.push
   #.........................................................................................................
   pipeline.push on_stop.add PS.$drain()
   PS.pull pipeline...

# $async                    = D.remit_async.bind D
PS                        = require 'pipestreams'
{ $, $async, }            = PS
new_pushable              = require 'pull-pushable'
assign                    = Object.assign
jr                        = JSON.stringify
copy                      = ( P... ) -> assign {}, P...
rprx                      = ( d ) -> "#{d.sigil} #{d.key}:: #{jr d.value ? null} #{jr d.stamped ? false}"
echo '{ ' + ( ( name for name of require './recycle' ).sort().join '\n  ' ) + " } = require './recycle'"
{ $recycle
  $unwrap_recycled
  is_recycling

  new_start_event
  new_stop_event
  new_system_event
  new_push_source
  recycling
  select
  select_all
