I'm seeing some strange errors in creating errors, like Cache['errors'] is sometimes going to nil.
WNILGROUH2LQ7GFGGWCHIE4YUWBQNU6QQETTL7UHGK3P5P7SEWCQC function remove_edge(src, rel, target)if array.find(Non_unique_edges, rel) thenlocal arr = Cache[src].links[rel]assert(arr)assert(type(arr) == 'table')local pos = array.find(arr, target)assert(pos)table.remove(array, pos)elseassert(Cache[src].links[rel] == target)Cache[src].links[rel] = nilendend
-- TODO: non-uniqueif Cache[target.id].links[Opposite[to]] thenadd_error(('target %s already has a %s note'):format(target.id, Opposite[to]))returnendCache[target.id].links[Opposite[to]] = Cache[target.id].links[Opposite[from]]Cache[target.id].links[Opposite[from]] = nil
remove_edge(target, Opposite[from], pane.id)add_edge(target, Opposite[to], pane.id)