Topological order

The idea is to sort addins in a topological order. Each addin can define one of five things for _order_:
* `>X` - I must be immediately after the addin with id X

* `>>X` - I must be somewhere after the addin with id X (but not necessarily immediately) 

* `<X`- I must be immediately before the addin with id X

* `<<X` - I must be somewhere before the addin with id X (but not necessarily immediately) 

* `Number` - A numerical order which is used if none of the above is applicable


so you're telling me that you not only understand this line now, but you expect to be able to understand it in 3 weeks time. specifically, just what gets deleted here, with a bunch of indexes like i j k that you use differently in each loop?
i offer the *opinion* that you should change this :)