code: function(env) {
          for (var i = 0; i < this.selectors.length; i++) {
              var zval = tree.Zoom.all;
              for (var z = 0; z < this.selectors[i].zoom.length; z++) {
                  zval = zval & this.selectors[i].zoom[z].ev(env).zoom;
              }
              this.selectors[i].zoom = zval;
          }
      }
docs: Zooms can use variables. This replaces tree.Zoom objects on selectors with simple bit-arrays that we can compare easily.