 			initialized = true;
 			
 			// save special IDs for values not supported by JSON
-			for each (var symbol:* in [undefined, NaN, Infinity, -Infinity])
+			for each (var symbol:Object in [NaN, Infinity, -Infinity])
 				_jsonLookup[symbol + JSON_SUFFIX] = symbol;
 			
 			// determine if backslashes need to be escaped

	 * ExternalInterface generates the following invalid code: <code>{Content-Type: "foo\"}</code>.
	 * The same problem occurs when returning an Object from an ActionScript function that was invoked
	 * from JavaScript. This class works around the limitation by using JSON.stringify() and JSON.parse()
	 * and escaping backslashes in resulting JSON strings. The values <code>undefined, NaN, Infinity, -Infinity</code>
	 * are preserved.
	 * 
	 * This class also provides an objectID accessor which is more reliable than ExternalInterface.objectID,

		private static const JSON_LOOKUP:String = "_jsonLookup";
		
		/**
		 * A random String which is highly unlikely to appear in any String value.  Used as a suffix for <code>NaN, -Infinity, Infinity</code>.
		 */
		private static const JSON_SUFFIX:String = ';' + Math.random() + ';' + new Date();
		
