The headers are included. It's just that because both files include each other we have to forward declare them or else the compiler won't know which file to resolve first and it will spew out all kinds of stuff saying it doesn't know what type node_list or node is.