+
+my $nested = eval {
+ Tikz->seq(
+ Tikz->seq(Tikz->raw("foo"))
+ ->mod($red)
+ )->mod($width)
+};
+is $@, '', 'creating nested modded sequences doesn\'t croak';
+
+check $nested, 'nested modded sequences', <<'RES';
+\draw [line width=4.0pt,color=red] foo ;
+RES
+
+my $baz = eval {
+ Tikz->raw('baz')
+ ->mod($red);
+};
+is $@, '', 'creating another colored raw set doesn\'t croak';
+
+check [ $foo, $baz ], 'mods folding 1', <<'RES';
+\begin{scope} [color=red]
+\begin{scope} [line width=4.0pt]
+\draw foo ;
+\draw bar ;
+\end{scope}
+\draw baz ;
+\end{scope}
+RES
+
+check [ $baz, $foo ], 'mods folding 2', <<'RES';
+\begin{scope} [color=red]
+\draw baz ;
+\begin{scope} [line width=4.0pt]
+\draw foo ;
+\draw bar ;
+\end{scope}
+\end{scope}
+RES
+
+my $qux = eval {
+ Tikz->raw('qux')
+ ->mod($width);
+};
+is $@, '', 'creating another raw set with modded width doesn\'t croak';
+
+check [ $foo, $baz, $qux ], 'mods folding 3', <<'RES';
+\begin{scope} [color=red]
+\begin{scope} [line width=4.0pt]
+\draw foo ;
+\draw bar ;
+\end{scope}
+\draw baz ;
+\end{scope}
+\draw [line width=4.0pt] qux ;
+RES
+
+check [ $foo, $qux, $baz ], 'mods folding 4', <<'RES';
+\begin{scope} [line width=4.0pt]
+\begin{scope} [color=red]
+\draw foo ;
+\draw bar ;
+\end{scope}
+\draw qux ;
+\end{scope}
+\draw [color=red] baz ;
+RES
+
+check [ $baz, $foo, $qux ], 'mods folding 5', <<'RES';
+\begin{scope} [color=red]
+\draw baz ;
+\begin{scope} [line width=4.0pt]
+\draw foo ;
+\draw bar ;
+\end{scope}
+\end{scope}
+\draw [line width=4.0pt] qux ;
+RES
+
+check [ $baz, $qux, $foo ], 'mods folding 6', <<'RES';
+\draw [color=red] baz ;
+\draw [line width=4.0pt] qux ;
+\begin{scope} [color=red,line width=4.0pt]
+\draw foo ;
+\draw bar ;
+\end{scope}
+RES
+
+check [ $qux, $foo, $baz ], 'mods folding 7', <<'RES';
+\begin{scope} [line width=4.0pt]
+\draw qux ;
+\begin{scope} [color=red]
+\draw foo ;
+\draw bar ;
+\end{scope}
+\end{scope}
+\draw [color=red] baz ;
+RES
+
+check [ $qux, $baz, $foo ], 'mods folding 8', <<'RES';
+\draw [line width=4.0pt] qux ;
+\draw [color=red] baz ;
+\begin{scope} [color=red,line width=4.0pt]
+\draw foo ;
+\draw bar ;
+\end{scope}
+RES
+
+my $seq = eval {
+ Tikz->seq($foo, $qux, $baz)
+ ->mod($red);
+};
+is $@, '', 'creating a modded sequence set doesn\'t croak';
+
+check $seq, 'mod covering 1', <<'RES';
+\begin{scope} [color=red]
+\begin{scope} [line width=4.0pt]
+\draw foo ;
+\draw bar ;
+\draw qux ;
+\end{scope}
+\draw baz ;
+\end{scope}
+RES
+
+my $seq2 = eval {
+ Tikz->seq($seq, $qux)
+ ->mod(Tikz->color('blue'));
+};
+is $@, '', 'creating another modded sequence set doesn\'t croak';
+
+check $seq2, 'mod covering 2', <<'RES';
+\begin{scope} [color=blue]
+\begin{scope} [color=red]
+\begin{scope} [line width=4.0pt]
+\draw foo ;
+\draw bar ;
+\draw qux ;
+\end{scope}
+\draw baz ;
+\end{scope}
+\draw [line width=4.0pt] qux ;
+\end{scope}
+RES
+
+eval {
+ $foo->mod(Tikz->raw_mod('raw1'));
+ $seq->mod(Tikz->raw_mod('raw2'));
+};
+is $@, '', 'creating and adding raw mods doesn\'t croak';
+
+check $seq, 'mod covering 3', <<'RES';
+\begin{scope} [color=red,raw2]
+\begin{scope} [line width=4.0pt]
+\begin{scope} [raw1]
+\draw foo ;
+\draw bar ;
+\end{scope}
+\draw qux ;
+\end{scope}
+\draw baz ;
+\end{scope}
+RES
+
+eval {
+ $baz->mod(Tikz->raw_mod($_)) for qw/raw2 raw3/;
+};
+is $@, '', 'creating and adding another raw mod doesn\'t croak';
+
+check $seq, 'mod covering 4', <<'RES';
+\begin{scope} [color=red,raw2]
+\begin{scope} [line width=4.0pt]
+\begin{scope} [raw1]
+\draw foo ;
+\draw bar ;
+\end{scope}
+\draw qux ;
+\end{scope}
+\draw [raw3] baz ;
+\end{scope}
+RES
+
+eval {
+ $bar->mod(Tikz->width(50));
+};
+is $@, '', 'creating and adding another width mod doesn\'t croak';
+
+check $seq, 'mod covering 4', <<'RES';
+\begin{scope} [color=red,raw2]
+\begin{scope} [line width=4.0pt]
+\begin{scope} [raw1]
+\draw foo ;
+\draw [line width=8.0pt] bar ;
+\end{scope}
+\draw qux ;
+\end{scope}
+\draw [raw3] baz ;
+\end{scope}
+RES