Pass pointers to node_types don't keep copying them
Instead of continually running a runction that will only run once. Have a function that will continually run.
Not finished Instead of continually creating new nodes, types and edge. Create each once and pass pointers around to reuse the 1 piece of data.
Minor cleanup
Have edge type use type node to store what is and is not a valid edge
Non-functional change. Ran fmt