Inspired by D7279, manually declare nested Private classes to have hidden visibility (by default, they inherit the visibility of the class that they are nested under).
This removes the private symbols from the resulting .so (I've verified this myself) although it's only a micro-optimization with regard to binary size.