anchor.diff:  
   /**
    * The controller through which all events communicate with each other.
  - * [T] is the base class. All events must extend from [T].
    */
  -class EventDispatcher<T> {
  +class EventDispatcher {
     
     final _map = new Map<String, List>();
     
  
positive.code:     methods.forEach((m) => m(obj));
    }
    
    String _get_name({void method(T), T obj}) {
      if (method != null) {
        var cm = reflect(method);
        return MirrorSystem.getName(cm.function.parameters.first.type.qualifiedName);
  
negative.code:    * Fires an event to registered listeners. Any listeners that take the
     * specific type [obj] will be called.
     */
    void post(var obj) {
      var name = _get_name(obj: obj);
          
      List methods = _map[name];
  