anchor.diff:  part of di;
   
   class Injector {
  +  final bool allowImplicitInjection;
   
     final List<Symbol> _PRIMITIVE_TYPES = <Symbol>[new Symbol('dynamic'),
         new Symbol('num'), new Symbol('int'), new Symbol('double'),
  
positive.code: 
      if (parent != null) {
        return parent._getProviderForType(type);
      }
  
      // create a provider for implicit types
  
negative.code: 
    List<Symbol> resolving = new List<Symbol>();
  
    Injector([List<Module> modules, bool allowImplicitInjection = true])
        : this._fromParent(modules, null, allowImplicitInjection: allowImplicitInjection);
  
    Injector._fromParent(List<Module> modules, Injector this.parent,
        {bool this.allowImplicitInjection: true}) {
      if (modules == null) {
        modules = <Module>[];
      }
      Module injectorModule = new Module();
      injectorModule.value(Injector, this);
      modules.add(injectorModule);
      modules.forEach((module) {
        providers.addAll(module._mappings);
      });
    }
  
    String _error(message, [appendDependency]) {
  