credo che il tuo sia un ottimo lavor andr3a, quando ho scritto una lib simile alla tua ma con funzionalità differenti ho scelto un approccio procedurale, tipo
proprio perché non volevo al tempo sovrascrivere il comportamento standard delle classi base, purtroppo questo comporta riscrivere tutto quello che mi occorre con le mie funzioni, mentre il tuo approccio ha il vantaggio di rendere crossbrowser js non pensato per esserlo.Codice PHP:
function array_map(a, f){
if(Array.prototype.map) return a.map(f);
[...]
//definisco map..
}