anchor.diff:    
   it('should instantiate a type', () {
     var injector = new Injector();
  -  var instance = injector.get(Abc);
  -  
  -  expect(instance, instanceOf(Abc));
  -  expect(instance.id, toEqual('abc-id'));
  +  var instance = injector.get(Engine);
  +  
  +  expect(instance, instanceOf(Engine));
  +  expect(instance.id, toEqual('v8-id'));
   });
   
   
   it('should resolve basic dependencies', () {
     var injector = new Injector();
  -  var instance = injector.get(Complex);
  -
  -  expect(instance, instanceOf(Complex));
  -  expect(instance.getValue().id, toEqual('abc-id'));
  +  var instance = injector.get(Car);
  +
  +  expect(instance, instanceOf(Car));
  +  expect(instance.getValue().id, toEqual('v8-id'));
   });
   
   
   it('should allow modules and overriding providers', () {
     var module = new Module();
  -  module.type(Abc, MockAbc);
  +  module.type(Engine, MockEngine);
     
     // injector is immutable
     // you can't load more modules once it's instantiated
     // (you can create a child injector)
     var injector = new Injector([module]);
  -  var instance = injector.get(Abc);
  +  var instance = injector.get(Engine);
     
     expect(instance.id, toEqual('mock-id'));
   });
  
positive.code: 
  it('should allow providing factory functions', () {
    var module = new Module();
    module.factory(Abc, () {
      return 'factory-product';
    });
  
    var injector = new Injector([module]);
    var instance = injector.get(Abc);
  
    expect(instance, toEqual('factory-product'));
  });
  
negative.code: 
  it('should inject instance from parent but never use dependency from child', () {
    var module = new Module();
    module.type(Engine, MockEngine);
  
    var parent = new Injector();
    var child = parent.createChild([module]);
  
    var complexFromParent = parent.get(Car);
    var complexFromChild = child.get(Car);
    var abcFromParent = parent.get(Engine);
    var abcFromChild = child.get(Engine);
  
    expect(complexFromChild, toBe(complexFromParent));
    expect(complexFromChild.getValue(), toBe(abcFromParent));
  