Perhaps it's fixed on the master branch but it's broken on the websites live transpile thing (which is where I tested it).
The compiling seems very inconsistent and fragile:
* it won't convert at all if a function literal is returned or assigned to a variable (but it will if the function literal is passed to an other function or for IIFE)
* it will generate an incorrect conversion in case the `this` is deref'd for a method call or (directly or indirectly) passed to an other function: these are OK (will not convert)
(function () { this; })();
(function () { this.foo; })();
(function () { this.bar + 1; })();
but these are not ok (will convert to incorrect code): (function () { this.foo(); })();
(function () { foo(this); })();
(function () { foo(this.bar); })();