forceRepair currently is limited. Instead of checking for edge duplicates we should check for missing GPX matches
we need a proper loop detection and then
recursively detect loops and insert them
Or instead of this loop insert algorithm I can think of a guided routing algorithm with a steadily changing goal. (could time dependent weights solve this?)