*
* Performs a breadth first search. The block following this macro is
* executed with @_n set first to @_start, then to each node reachable
*
* Performs a breadth first search. The block following this macro is
* executed with @_n set first to @_start, then to each node reachable