if (!Function.prototype.bind) {
    Function.prototype.bind = function (oThis) {
        "use strict";
        if (typeof this !== "function") {
            // closest thing possible to the ECMAScript 5
            // internal IsCallable function
            throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
        }

        var aArgs = Array.prototype.slice.call(arguments, 1),
            fToBind = this,
            fNOP = function () {},
            fBound = function () {
                return fToBind.apply(this instanceof fNOP && oThis
                    ? this
                    : oThis,
                    aArgs.concat(Array.prototype.slice.call(arguments)));
            };

        fNOP.prototype = this.prototype;
        fBound.prototype = new fNOP();

        return fBound;
    };
}
@@ -25,18 +25,16 @@
 bind) %7B%0A
-  
   Functi
@@ -80,13 +80,9 @@
     
-    %22
+'
 use 
@@ -91,19 +91,15 @@
 rict
-%22
+'
 ;%0A    
- 
-   
 if (
@@ -118,17 +118,17 @@
 !== 
-%22
+'
 function
 %22) %7B
@@ -123,17 +123,17 @@
 function
-%22
+'
 ) %7B%0A    
@@ -134,22 +134,16 @@
 %7B%0A      
-    
-  
 // close
@@ -180,22 +180,16 @@
 cript 5%0A
-      
       //
@@ -224,22 +224,16 @@
 n%0A      
-   
-   
 throw ne
@@ -244,17 +244,17 @@
 peError(
-%22
+'
 Function
@@ -317,27 +317,19 @@
 able
-%22
+'
 );%0A    
-   
- 
 %7D%0A%0A
-    
     
@@ -384,51 +384,41 @@
 , 1)
-,
+;
 %0A    
-        fToBind
+var _this
  = this
-,
+;
 %0A    
-        f
+var F
 NOP 
@@ -431,27 +431,23 @@
 tion
- 
 () %7B%7D
-,
+;%0A
 %0A    
-       
+var
  fBo
@@ -460,17 +460,16 @@
 function
- 
 () %7B%0A   
@@ -477,30 +477,20 @@
     
-       
- 
 return 
-fToBind
+_this
 .app
@@ -508,17 +508,17 @@
 tanceof 
-f
+F
 NOP && o
@@ -518,32 +518,24 @@
 OP && oThis%0A
-        
             
@@ -553,24 +553,16 @@
         
-        
 : oThis,
@@ -562,26 +562,16 @@
  oThis,%0A
-          
         
@@ -636,22 +636,16 @@
     
-   
-   
 %7D;%0A%0A    
     
@@ -640,21 +640,17 @@
 %7D;%0A%0A    
-    f
+F
 NOP.prot
@@ -677,20 +677,16 @@
 pe;%0A    
-  
-  
 fBound.p
@@ -700,17 +700,17 @@
 e = new 
-f
+F
 NOP();%0A%0A
@@ -709,28 +709,24 @@
 NOP();%0A%0A    
- 
-   
 return fBoun
@@ -728,16 +728,14 @@
 fBound;%0A
-  
   %7D;%0A%7D

reformat bind polyfil