In my experience, there is rarely a good reason to make parts of traits 
classes private. In particular, if Graph were public, it could be used 
to retrieve the graph type if the traits class was used as a template 
somewhere else. My suggestion therefore applies in general, not just at 
this specific place.