+my $set = Tikz->raw('wut');
+
+my $set_mod = eval {
+ $set->mod;
+};
+is $@, '', 'calling empty mod out of a set doesn\'t croak';
+is "$set_mod", "$set", 'calling empty mod out of a set returns the set';
+
+my $new = eval {
+ $set->mod(Tikz->raw_mod('raw1'));
+};
+is $@, '',
+ 'creating and applying a raw mod on a set in scalar context doesn\'t croak';
+is ref($new), 'LaTeX::TikZ::Set::Mod', 'new set is of the right kind';
+isnt "$new", "$set", 'new set is different from the old one';
+
+check $set, '', <<'RES';
+\draw wut ;
+RES
+
+check $new, '', <<'RES';
+\draw [raw1] wut ;
+RES
+
+eval {
+ $set->mod(Tikz->raw_mod('raw2'));
+ ();
+};
+is $@, '',
+ 'creating and applying a raw mod on a set in void context doesn\'t croak';
+is ref($new), 'LaTeX::TikZ::Set::Mod', 'new set is of the right kind';
+
+check $set, '', <<'RES';
+\draw [raw2] wut ;
+RES
+
+check $new, '', <<'RES';
+\draw [raw1] wut ;
+RES
+