+$b = watch { unshift @a, 't' } { set => 1, len => 1 }, 'unshift (scalar)';
+is $b, 6, 'unshift (scalar) correctly';
+
+$b = watch { shift @a } { set => 1, len => 1 }, 'shift';
+is $b, 't', 'array: shift correctly';
+
+watch { my $i; @a = map ++$i, @a } { set => 5, len => 1, clear => 1}, 'map';
+
+@b = watch { grep { $_ >= 4 } @a } { len => 1 }, 'grep';
+is_deeply \@b, [ 4 .. 5 ], 'array: grep correctly';
+
+watch { 1 for @a } { len => 5 + 1 }, 'for';
+
+watch {