Blob					T_GIT_REF
Branch					T_GIT_REF
Commit					T_GIT_REF
Config					T_GIT_REF
Cred					T_GIT_REF
Diff					T_GIT_REF
Index					T_GIT_REF
Push					T_GIT_REF
RefSpec					T_GIT_REF
Reference				T_GIT_REF
Remote					T_GIT_REF
Repository				T_GIT_REF
Signature				T_GIT_REF
Tag					T_GIT_REF
Tree					T_GIT_REF
TreeEntry				T_GIT_REF
Walker					T_GIT_REF

OUTPUT
T_GIT_REF
	sv_setref_pv($arg, \"Git::Raw::${type}\", (void *) $var);

INPUT
T_GIT_REF
	if (sv_isobject($arg) && sv_derived_from($arg, \"Git::Raw::${type}\"))
		$var = INT2PTR($type, SvIV((SV *) SvRV($arg)));
	else
		Perl_croak(aTHX_ \"$var is not of type Git::Raw::${type}\");
