sb10q I looked into this yesterday but am unsure which approach you would like to see.
Using KernelInvariant[SyncDataUser | SyncDataEeprom] for sync_data doesn't seem to be supported by the compiler.
One could use a python generic, e.g., SyncDataT and then either do AD9910[SyncDataEeprom] or AD9910[SyncDataUser]?