Base		T_BASE
Event		T_EVENT
const char *	T_PV /* for 5.6 compatibility */

INPUT

T_BASE
	if (!(SvROK ($arg) && SvOBJECT (SvRV ($arg))
            && SvSTASH (SvRV ($arg)) == stash_base))
          croak (\"object is not of type EV::Base\");
        $var = (Base)SvIV (SvRV ($arg));

T_EVENT
	if (!(SvROK ($arg) && SvOBJECT (SvRV ($arg))
            && SvSTASH (SvRV ($arg)) == stash_event))
          croak (\"object is not of type EV::Event\");
        $var = (Event)SvPVX (SvRV ($arg));

OUTPUT

T_BASE
	sv_setref_iv ($arg, "EV::Base", (IV)$var);

T_EVENT
	$arg = e_self ($var);

