I'm looking at the 'windows' function, and do not understand why it's so complicated. If it's just WindowSet -> WindowSet ... why is it so long?

I ask this because I want to manipulate the WindowSet of a workspace that is _NOT_ visible; the only function that is WindowSet -> WindowSet is "windows". However, windows has W.current hard coded into it -- and I'm not sure what all of the other stuff in there is.