This is mainly my fault, current Groovy master branch cannot compile this code in @TypeChecked class,
because Iterable.tail() returns Collection.
There is List.tail(), which returns List, but this method is @Deprecated,
and @Deprecated method is not called.
So I created a patch, in which many List methods return List, and also for many other Collection classes.
For example, now List.leftShift() returns List, this code can be compiled in @TypeChecked class.
The implementation of List.leftShift() is just this. Only type casts.
The pull request is here.