The bigger question is if you can reflect on private members of types
Wouldnt a simple solution be to allow for iterating over all members or only public/private? I dont see why you shouldnt have access to those fields if reflection is performed at compile time and has no side effects