     ]
   #.........................................................................................................
   for [ probe, matcher, error, ] in probes_and_matchers
-    R = null
+    R = { bystream: [], mainstream: [], }
     #.......................................................................................................
     await T.perform probe, matcher, error, -> return new Promise ( resolve, reject ) ->
       byline    = []
       byline.push PS.new_random_async_value_source 0.1, probe[ 0 ]
       byline.push $ ( d, send ) -> send [ 'bystream', d, ]
-      byline.push $ { first: 'first', last: 'last', }, ( d, send ) ->
-        if d in [ 'first', 'last', ]
-          warn 'bystream', jr d
-        else
-          whisper 'bystream', jr d
+      # byline.push PS.$watch ( d ) -> debug '37333', 'bystream', xrpr d
+      # byline.push $ { first: 'first', last: 'last', }, ( d, send ) ->
+      #   if d in [ 'first', 'last', ] then warn    'bystream', xrpr d
+      #   else                              whisper 'bystream', xrpr d
       #.....................................................................................................
       mainline = []
       mainline.push PS.new_random_async_value_source probe[ 1 ]
       mainline.push $ ( d, send ) -> send [ 'mainstream', d, ]
       mainline.push PS.$wye PS.pull byline...
-      mainline.push $ { first: 'first', last: 'last', }, ( d, send ) ->
-        if d in [ 'first', 'last', ]
-          warn 'mainstream', jr d
-        else
-          whisper 'mainstream', jr d
-      mainline.push PS.$collect()
+      # mainline.push $ { first: 'first', last: 'last', }, ( d, send ) ->
+      #   if d in [ 'first', 'last', ] then warn    'mainstream', xrpr d
+      #   else                              whisper 'mainstream', xrpr d
       mainline.push PS.$watch ( d ) ->
-        R       = { bystream: [], mainstream: [], }
-        R[ x[ 0 ] ].push x[ 1 ] for x in d
+        debug '37333', xrpr d
+        R[ d[ 0 ] ].push d[ 1 ]
       mainline.push PS.$drain ->
+        echo 'result:   ', xrpr R
+        echo 'matcher:  ', xrpr matcher
         help 'ok'
         resolve R
       PS.pull mainline...

  return null

#-----------------------------------------------------------------------------------------------------------
@[ "divert" ] = ( T, done ) ->
  probes_and_matchers = [
    [[10,11,12,13,14,15,16,17,18,19,20],{"odd_numbers":[11,13,15,17,19],"all_numbers":[10,11,12,13,14,15,16,17,18,19,20]},null]
    ]

      # mainstream.push PS.$watch ( d ) -> whisper '10191-6', 'confluence', jr d
      mainstream.push PS.$tee new_filtered_bysink 'number', numbers,  ( d ) -> CND.isa_number d
      mainstream.push PS.$tee new_filtered_bysink 'text',   texts,    ( d ) -> CND.isa_text d
      mainstream.push PS.$tee new_filtered_bysink 'other',  others,   ( d ) -> ( not CND.isa_number d ) and ( not CND.isa_text d )
      mainstream.push PS.$drain ->
        echo xrpr R
        resolve R
      PS.pull mainstream...
      #...................................................................................................
      max_idx = ( Math.max probe[ 0 ].length, probe[ 1 ].length ) - 1
      for idx in [ 0 .. max_idx ]
        source_1.send probe[ 0 ][ idx ] if idx < probe[ 0 ].length
        source_2.send probe[ 1 ][ idx ] if idx < probe[ 1 ].length
      source_1.end()
      source_2.end()
  done()
