Uglify-js nie zmienia nazw zmiennych

Próbuję przygotować dobre środowisko do tworzenia mojej biblioteki js. Według opinii w internecieUglifyJS wydaje się być jednym z najlepszych modułów kompresujących, pracujących pod NodeJS. Oto najlepszy zalecany sposób minimalizowania kodu:

var jsp = require("uglify-js").parser;
var pro = require("uglify-js").uglify;

var orig_code = "... JS code here";
var ast = jsp.parse(orig_code); // parse code and get the initial AST
ast = pro.ast_mangle(ast); // get a new AST with mangled names
ast = pro.ast_squeeze(ast); // get an AST with compression optimizations
var final_code = pro.gen_code(ast); // compressed code here

Jak widać tutajpro.ast_mangle(ast) powinien zmieniać nazwy zmiennych, ale tak nie jest. Wszystko, co wychodzę z tego potoku, to kod javascript, bez spacji. Początkowo myślałem, że mój kod nie został zoptymalizowany pod kątem kompresji, ale potem spróbowałemZamknięcie Google i dostał dość kompresji (z zniekształconymi nazwami zmiennych i wszystkim).

Eksperci UglifyJS, każda wskazówka co robię źle?

AKTUALIZACJA:

Rzeczywisty kod jest zbyt duży, by się tu odwoływać, ale nawet taki fragment nie ulega zniekształceniu:

;(function(window, document, undefined) {

    function o(id) {
        if (typeof id !== 'string') {
            return id;  
        }
        return document.getElementById(id);
    }   

    // ...

    /** @namespace */
    window.mOxie = o;

}(window, document));

To jest to, co otrzymuję (myślę, że tylko spacje są rozbierane):

(function(window,document,undefined){function o(id){return typeof id!="string"?id:document.getElementById(id)}window.mOxie=window.o=o})(window,document)

questionAnswers(4)

yourAnswerToTheQuestion