Throw the correct exception in check_valid_child
Implement indexing of child nodes per ID
Split up nodes.hpp