use single discriminant for variants
added autogenerated ua builtin types