Finally fixed `make_variant_type`, fixed `variant_parser` (d'oh).