I still haven't worked out hwy it resets the uno but I needed to move on so instead wrote a while loop to work its way back
// menu.moveToLevel(0);
while(menu.getCurrent().getLevel() > 1){ // if we're not at the bottom of the menu
if(menu.getCurrent().getLeft() != 0){ // getLeft returns a route, we should follow it
menu.moveLeft();
Serial.println(" L ");
}else{
menu.moveUp(); // go up and we can try again next loop
Serial.println(" U ");
}
}