Variants don't necessarily have to have a type.
Add the is-type macro and testing utilities