 < Object.prototype.__noSuchMethod__ = function(fun) {};
 < 
 < /**
-539c529
+461,469d450
+<  * Removes a watchpoint set with the {@see Object.prototype.watch} method.
+<  * Mozilla-only.
+<  * @param {string} prop The name of a property of the object.
+<  * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/unwatch
+<  * @return {undefined}
+<  */
+< Object.prototype.unwatch = function(prop) {};
+< 
+< /**
+478,488d458
+<  * Sets a watchpoint method.
+<  * Mozilla-only.
+<  * @param {string} prop The name of a property of the object.
+<  * @param {Function} handler A function to call.
+<  * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch
+<  * @return {undefined}
+<  */
+< Object.prototype.watch = function(prop, handler) {};
+< 
+< 
+< /**
+559c529
 <  * @param {...*} var_args
 ---
 >  * @param {...T} items
-545c535
+565c535
 < function Array(var_args) {}
 ---
 > function Array(items) {}
-559,561c549,550
+579,581c549,550
 <  * @param {...*} var_args
 <  * @return {!Array<?>}
 <  * @this {*}
 ---
 >  * @param {...T} items
 >  * @return {!Array<T>}
-565c554
+585c554
 < Array.prototype.concat = function(var_args) {};
 ---
 > Array.prototype.concat = function(items) {};
-584,586d572
-<  * @this {IArrayLike<T>}
-<  * @modifies {this}
-<  * @template T
-598,600d583
-<  * @this {IArrayLike<T>}
-<  * @template T
-<  * @modifies {this}
-609,612c592
+604,606d572
+<  * @this {IArrayLike<T>}
+<  * @modifies {this}
+<  * @template T
+618,620d583
+<  * @this {IArrayLike<T>}
+<  * @template T
+<  * @modifies {this}
+629,632c592
 <  * @return {THIS} A reference to the original modified array.
 <  * @this {THIS}
 <  * @template THIS
 <  * @modifies {this}
 ---
 >  * @return {Array<T>} A reference to the original modified array.
-621,622d600
-<  * @this {IArrayLike<T>}
-<  * @modifies {this}
-624d601
-<  * @template T
-632c609
+641,642d600
+<  * @this {IArrayLike<T>}
+<  * @modifies {this}
+644d601
+<  * @template T
+652c609
 <  * @param {*=} opt_begin Zero-based index at which to begin extraction.  A
 ---
 >  * @param {number=} opt_begin Zero-based index at which to begin extraction.  A
-634c611
+654c611
 <  * @param {*=} opt_end Zero-based index at which to end extraction.  slice
 ---
 >  * @param {number=} opt_end Zero-based index at which to end extraction.  slice
-637,638d613
-<  * @this {IArrayLike<T>|string}
-<  * @template T
-649,651d623
-<  * @this {IArrayLike<T>}
-<  * @template T
-<  * @modifies {this}
-661c633
+657,658d613
+<  * @this {IArrayLike<T>|string}
+<  * @template T
+669,671d623
+<  * @this {IArrayLike<T>}
+<  * @template T
+<  * @modifies {this}
+681c633
 <  * @param {*=} opt_index Index at which to start changing the array. If negative,
 ---
 >  * @param {number=} opt_index Index at which to start changing the array. If negative,
-664c636
+684c636
 <  * @param {*=} opt_howMany An integer indicating the number of old array elements
 ---
 >  * @param {number=} opt_howMany An integer indicating the number of old array elements
-668,670d639
-<  * @this {IArrayLike<T>}
-<  * @modifies {this}
-<  * @template T
-695c664
+688,690d639
+<  * @this {IArrayLike<T>}
+<  * @modifies {this}
+<  * @template T
+715c664
 <  * @param {...*} var_args
 ---
 >  * @param {...T} var_args
-710,711c679
+730,731c679
 <  * @this {IArrayLike<T>|string}
 <  * @template T,R
 ---
 >  * @template R
-723,724c691
+743,744c691
 <  * @this {IArrayLike<T>|string}
 <  * @template T,R
 ---
 >  * @template R
-731,732c698,699
+751,752c698,699
 <  * @param {?function(this:S, T, number, !Array<T>): ?} callback
 <  * @param {S=} opt_thisobj
 ---
 >  * @param {?function(T, number, !Array<T>): ?} callback
 >  * @param {*=} opt_thisobj
-734,735d700
-<  * @this {IArrayLike<T>|string}
-<  * @template T,S
-742,743c707,708
+754,755d700
+<  * @this {IArrayLike<T>|string}
+<  * @template T,S
+762,763c707,708
 <  * @param {?function(this:S, T, number, !Array<T>): ?} callback
 <  * @param {S=} opt_thisobj
 ---
 >  * @param {?function(T, number, !Array<T>): ?} callback
 >  * @param {*=} opt_thisobj
-745,746d709
-<  * @this {IArrayLike<T>|string}
-<  * @template T,S
-753,756c716,717
+765,766d709
+<  * @this {IArrayLike<T>|string}
+<  * @template T,S
+773,776c716,717
 <  * @param {?function(this:S, T, number, !Array<T>): ?} callback
 <  * @param {S=} opt_thisobj
 <  * @this {IArrayLike<T>|string}

< Array.some = function(arr, callback, opt_context) {};
< 
< /**
1880c1765
<  * @param {string|Function} replacement
---
>  * @param {string|function(string, ...?):*} replacement
2040c1925
<  * @param {*} pattern
---
>  * @param {string} pattern
2051c1936
<  * @param {*} str The string to search.
---
>  * @param {string} str The string to search.
2059c1944
<  * @param {*} str The string to search.
---
>  * @param {string} str The string to search.
2385,2421d2269
< 
< // JScript extensions.
< // @see http://msdn.microsoft.com/en-us/library/894hfyb4(VS.80).aspx

---
>  * @param {?function(T, number, !Array<T>): ?} callback
>  * @param {*=} opt_thisobj
787d727
<  * @this {IArrayLike<T>|string}
789d728
<  * @template T
799d737
<  * @this {IArrayLike<T>|string}
801d738
<  * @template T
808,809c745,746
<  * @param {?function(this:S, T, number, !Array<T>): R} callback
<  * @param {S=} opt_thisobj
---
>  * @param {?function(T, number, !Array<T>): R} callback
>  * @param {*=} opt_thisobj
811,812c748
<  * @this {IArrayLike<T>|string}
<  * @template T,S,R
---
>  * @template R
819,820c755,756
<  * @param {?function(this:S, T, number, !Array<T>): ?} callback
<  * @param {S=} opt_thisobj
---
>  * @param {?function( T, number, !Array<T>): ?} callback
>  * @param {*=} opt_thisobj
822,823d757
<  * @this {IArrayLike<T>|string}
<  * @template T,S
847,915d780
<  * @param {IArrayLike<T>} arr
<  * @param {?function(this:S, T, number, ?) : ?} callback
<  * @param {S=} opt_context
