Of course and without RTTI, see my example above.
But with RTTI this should be possible in trunk with maybe small changes because the extended RTTI is similar to Delphi but not equal, 100% compatible.
I do not see anything in your code snippet that would not work.