Switched all my char * to strings because char * are so... some time in the past
Added identifier and "lightweight type" nodes.
I'm still mixing cout and (f)printf because I can't let go of my C heritage