Ah, I think I know what is going on. class(G) is 'symfun' whereas class(G(s)) is 'sym'.
I guess I need to decide whether to pass the function itself or the symbolic expression it returns given s.
If I only pass the function (G), how would I determine how many factors it has? I.e. the dimension of the symbolic function.