• After some (purely syntactical) experiments, I found that getters/setters within IIFEs seem to be the problem. When trying

    let Y = {
      get y () { return this._y }
    (function () {
      let X = {
        get x () { return this._x }

    (edited in the right section of the Espruino IDE, then uploaded to my Bangle.js) the Y-based constructs worked as foreseen (and even produced the intended output), but then the X-based stuff failed.

    So, IIFEs seem to have their own (inner) capabilities?