code: function Function(node, parent, scope, state) {
      // skip over functions as whatever `arguments` we reference inside will refer
      // to the wrong function
      var oldNoOptimise = state.noOptimise;
      state.noOptimise = true;
      this.traverse(memberExpressionOptimisationVisitor, state);
      state.noOptimise = oldNoOptimise;
      this.skip();
    }
docs: [Please add a description.]