 			return getMappingByName(config.typeName);
 		}
 
-		SsInternal function instantiateUnmapped(type : Class) : *
+		SsInternal function instantiateUnmapped(type : Class) : Object
 		{
 			var ctorInjectionPoint : ConstructorInjectionPoint =
 					_classDescriptor.getDescription(type);

			INJECTION_POINTS_CACHE = new Dictionary(true);
		}

		SsInternal function getMapping(requestType : Class) : InjectionRule
		{
			return _mappings[requestType] || getAncestorMapping(requestType);
		}

		SsInternal function getMappingByName(requestTypeName : String) : InjectionRule
		{
			return _mappings[requestTypeName] || getAncestorMappingByName(requestTypeName);
		}

		SsInternal function getAncestorMapping(requestType : Class) : InjectionRule
		{
			if (_parentInjector)
			{
				return _parentInjector.getMapping(requestType);
			}
			return null;
		}

		SsInternal function getAncestorMappingByName(requestTypeName : String) : InjectionRule
		{
			if (_parentInjector)
			{
				return _parentInjector.getMappingByName(requestTypeName);
			}
			return null;
		}

			return rule;
		}

		private function getMapping(requestType : Class) : InjectionRule
		{
			return _mappings[requestType] || getAncestorMapping(requestType);
		}

		private function getMappingByName(requestTypeName : String) : InjectionRule
		{
			return _mappings[requestTypeName] || getAncestorMappingByName(requestTypeName);
		}

		private function getAncestorMappingByName(requestTypeName : String) : InjectionRule
		{
			if (_parentInjector)
			{
				return _parentInjector.getMappingByName(requestTypeName);
			}
			return null;
		}

		private function applyInjectionPoints(target : Object, targetType : Class,
				injectionPoint : InjectionPoint) : void
		{
