TYPEMAP
varspec_t T_VARSPEC
vartype_t T_VARTYPE
INPUT
T_VARSPEC
if (SvPOK($arg))
_deconstruct_variable_name($arg, &$var);
else if (SvROK($arg) && SvTYPE(SvRV($arg)) == SVt_PVHV)
_deconstruct_variable_hash((HV*)SvRV($arg), &$var);
else
croak(\"varspec must be a string or a hashref\");
_check_varspec_is_valid(&$var);
T_VARTYPE
if (!SvPOK($arg))
croak(\"vartype must be a string\");
$var = string_to_vartype(SvPV_nolen($arg));