@ElegantBeef to the rescue, once again, thank you.
My incorrect assumption of a generic procedure was that the type `T` had to be used in the procedure's signature (i.e. somewhere between `proc` and the first `=`); it is good to have that corrected. One of my failed attempts to solve this was to leave out the definition of the return type and let the assignment to `result` define the type; that, of course, didn't work. `auto` is the proper thing to do instead. Your tip also helped me realize there is nothing generic about `RegisterConfig` and I should not prefix the `TAddress` and `TReadWriteAttr` field names with `T`.
