Do said network rewrite. Careful use of foldl ensures that the lists all stay in the same order, so eth0 should be at the correct end of the list (i.e. front).

Ultimately we may well want to use a global network grab... Or enforce singleton somehow.