it is ok to write this in a pattern: `{*S, *S}` because it means
something different then `{*S, S}` so the "redeclared variable" error is
not thrown anymore.