 }
 
 /**
-  WrappedSender<T,C> wraps an instance of any type C that implements SendingChannel,
+  WrappedSender<T,C> wraps an instance of any type C that implements SenderType,
   and makes it looks like a Sender<T> subclass.
 
   WrappedSender uses a generic approach, unlike EnclosedSender.

}

/**
  EnclosedSender<T> wraps an object that implements SendingChannel and makes it
  looks like a Sender<T> subclass.

  This is accomplished in wrapping its entire SendingChannel interface in a series of closures.
  While that is probably memory-heavy, it works. WrappedSender uses a generic approach.
*/



/**
  ChanSender<T> wraps a Chan<T> and allows sending through it
  via a SenderType interface.
*/

class ChanSender<T>: Sender<T>
