(WIP) Immutable headnodes

This is probably worth looking at now; there's still some work to do, but it's roughly the shape I'm shooting for.
This line is going to bomb out with a type error because of 'nic = str(nic)' on line 186