 getOwn(canAppearInBody, e, false);
      }
      function eq (e, f) { return e === f; }
      function neighbors(e) {
        var neighbors = getOwn(canAppearIn, e, empty);
        if (opt_exclusions) {
          var exclusions = makeSet(opt_exclusions);
          var included = null;
          for (var i = 0, n = neighbors.length; i < n; ++i) {
            var neighbor = neighbors[i];
            if (inSet(exclusions, neighbor)) {
              if (!included) { included = neighbors.slice(0, i); }
        