Disallow references in Variant
I have run into strange problems with reference types sneaking into templates. Reference types can cause weird errors when passing things across hosts and devices, and it's best not to let them sneak into an object like Varient where they become more difficult to check for.