I'm not sure if that would be possible. When the compiler compiles your program, it replaces variable names with memory pointers. The compiler checkes to make sure the fields exists at compile time. I guess you could make a system where such a thing would be possible, but that would greatly slow down the use of types. Better to have the slowdown at the beginning of your program parsing the parameters than during the program where your types are being accessed n times per second.