This produces one rotation, and then embeds only that one rotation into Pseq.
Pseq at that point does not know about any other possible rotations. (It seems to be a common point of confusion in SC. When you supply an expression as an argument to a method call, the method receives the result of the expression. The expression itself is no longer available to run repeatedly “per bar” or other.)
So you would need to generate the Pseq dynamically, probably using Plazy: