Vals-by-class generating macro, also works for inherited members