add topo-sort test
use :inspect to record changes where further comparison is necessary
implement continue and effect phase