Can all this code really not be handled by building the right FieldDeclarations in GCUD?