anchor.diff:      ClassMirror cm = _getClassMirrorByTypeName(typeName);
   
       if (cm is TypedefMirror) {
  -      throw error('No implementation provided for $typeName typedef!');
  +      throw new NoProviderException(error('No implementation provided for $typeName typedef!'));
       }
   
       MethodMirror ctor = cm.constructors.values.first;
  
positive.code:       // implicit type provider, only root injector does that
        resolving.add(typeName);
        Provider provider = new _TypeProvider.fromString(typeName);
        instances[typeName] = provider.get(_getInstanceByTypeName, (msg) {
          String graph = resolving.join(' -> ');
          resolving.clear();
          return new NoProviderException('${msg} (resolving ${graph})');
        });
        resolving.removeLast();
      }
  
  
negative.code: 
  class NoProviderException extends ArgumentError {
    NoProviderException(message) : super(message);
  }
  
  class CircularDependencyException extends ArgumentError {
  