anchor.diff:      methods.forEach((m) => m(obj));
     }
     
  -  String _get_name({void method(T), var obj}) {
  +  String _get_name({void method(dynamic), dynamic obj}) {
       if (method != null) {
         var cm = reflect(method);
         return MirrorSystem.getName(cm.function.parameters.first.type.qualifiedName);
  
positive.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];
  
negative.code:  */
  class EventDispatcher {
    
    final _map = new Map<String, List<Function>>();
    
    /**
     * Unregisters a method from receiving events.
     * Returns whether the [method] was removed or not.
     */
    bool unregister(void method(dynamic)) {
      var name = _get_name(method: method);
      return _map[name].remove(method);
    }
  