my $exp = _types shift;
my $desc = shift;
local %mg = ();
+ local $Test::Builder::Level = ($Test::Builder::Level || 0) + 1;
my @ret = eval { $code->() };
is $@, '', $prefix . $desc . ' doesn\'t croak';
is_deeply \%mg, $exp, $prefix . $desc . ' triggers magic correctly';