anchor.diff:  
   typedef JsInterface InterfaceFactory(JsObject o);
   
  -registerFactoryForJsConstructor(JsObject constructor,
  +registerFactoryForJsConstructor(JsFunction constructor,
       InterfaceFactory factory) {
     _interfaceConstructors[constructor] = factory;
   }
  
positive.code:         wrapper = new JsList.fromJsObject(o);
        } else {
          // look up JsInterface factory
          var jsConstructor = o['constructor'] as JsObject;
          var dartConstructor = _interfaceConstructors[jsConstructor];
          if (dartConstructor != null) {
            wrapper = dartConstructor(o);
  
negative.code: }
  
  // Dart Type -> JS constructorfor proxy
  final Map<Type, JsFunction> _exportedConstructors = <Type, JsFunction>{};
  
  registerJsConstructorForType(Type type, JsFunction constructor) {
    _exportedConstructors[type] = constructor;
  }
  
  