public function edges()
{
$oset = $this->getTraversableSplos($this->vertices);
foreach ($oset as $tail) {
$set = $this->getTraversableSplos($this->vertices[$tail]);
foreach ($set as $head) {
(yield array($tail, $head));
}
$this->walking->detach($set);
}
$this->walking->detach($oset);
}