Node* T_OBJECT INPUT T_OBJECT if (sv_derived_from($arg, \"${subtype}\")) { IV tmp = SvIV((SV*)SvRV($arg)); $var = INT2PTR($type,tmp); } else Perl_croak(aTHX_ \"%s: %s is not of type %s\", ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]}, \"$var\", \"$subtype\") OUTPUT T_OBJECT sv_setref_pv($arg, \"${subtype}\", (void*)$var);