   R = []
   R.push PS.$filter filter
   R.push PS.$watch ( d ) -> collector.push d
-  R.push PS.$watch ( d ) -> whisper '10191', name, jr d
+  # R.push PS.$watch ( d ) -> whisper '10191', '------------>', name, xrpr d
   R.push PS.$drain()
   return PS.pull R...
 
 #-----------------------------------------------------------------------------------------------------------
 @[ "$wye 1" ] = ( T, done ) ->
   probes_and_matchers = [
-    [[["a","b","c"],[1,2,3,4,5,6]],[[1,2,3,4,5,6],["a","b","c"]],null]
+    [[["a","b","c"],[1,2,3,4,5,6]],[[1,2,3,4,5,6],["a","b","c"],[]],null]
+    [[["a",null,"b","c",true],[null,1,2,3,4,5,6,null,undefined,Infinity]],[ [ 1, 2, 3, 4, 5, 6 ], [ 'a', 'b', 'c' ], [ null, null, true, null, undefined, Infinity ] ],null]
     ]
   #.........................................................................................................
   for [ probe, matcher, error, ] in probes_and_matchers
     await T.perform probe, matcher, error, -> new Promise ( resolve, reject ) ->
       numbers             = []
       texts               = []
-      R                   = [ numbers, texts, ]
-      drainer             = -> resolve R
+      others              = []
+      R                   = [ numbers, texts, others, ]
       source_1            = PS.new_push_source()
       source_2            = PS.new_push_source()
       #...................................................................................................
       bysource            = []
       bysource.push source_2
-      bysource.push PS.$watch ( d ) -> whisper '10191-5', 'bysource', jr d
+      # bysource.push PS.$watch ( d ) -> whisper '10191-5', 'bysource', jr d
       # bysource.push PS.$defer()
       bysource            = PS.pull bysource...
       #...................................................................................................

      # 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',  null,     ( d ) -> ( not CND.isa_number d ) and ( not CND.isa_text d )
      mainstream.push PS.$drain drainer
      PS.pull mainstream...
      #...................................................................................................
      max_idx = ( Math.max probe[ 0 ].length, probe[ 1 ].length ) - 1
      for idx in [ 0 .. max_idx ]
        source_1.send x if ( x = probe[ 0 ][ idx ] )?
        source_2.send x if ( x = probe[ 1 ][ idx ] )?
      source_1.end()
      source_2.end()
  done()

      collector           = []
      clientline          = []
      clientline.push source_a
      clientline.push PS.$defer() if    use_defer_1
      clientline.push PS.$wye source_b, use_defer_3
      clientline.push PS.$defer() if    use_defer_2
      clientline.push PS.$collect { collector, }
      # clientline.push PS.$show()
      clientline.push PS.$drain -> resolve collector
