Scopable({ scope }) {
          scopeTracker.addScope(scope);

          // Collect bindings defined in the scope
          Object.keys(scope.bindings).forEach(name => {
            scopeTracker.addBinding(scope.bindings[name]);

            // add all constant violations as references
            scope.bindings[name].constantViolations.forEach(() => {
              scopeTracker.addReference(scope, scope.bindings[name], name);
            });
          });
        }
The visitors to be used in traversal.

Note: BFS traversal supports only the `enter` handlers, `exit`
handlers are simply dropped without Errors

Collects items defined in the ScopeTracker