Polymorph cycling

Hi Mages! i am trying to macro my Polymorphs so that i cycle through them at random. Currently the following works, but is 248/255 characters so it will not work if more are added.

#showtooltip Polymorph
/y %t, let’s see what you really are!
/castrandom Polymorph(Black Cat),Polymorph(Bumblebee),Polymorph(Monkey),Polymorph(Pig),Polymorph(Polar Bear Cub),Polymorph(Porcupine),Polymorph(Rabbit),Polymorph(Sheep),Polymorph(Turtle)

as stated, this works, however i would love to be able to add as new come out, which i clearly cannot with this one.
i figured the following might work, but the substitution fails.

#showtooltip Polymorph
/y %t, let’s see what you really are!
/run p={‘Black Cat’,‘Bumblebee’,‘Monkey’,‘Pig’,‘Polar Bear Cub’,‘Porcupine’,‘Rabbit’,‘Sheep’,‘Turtle’}
/run n=random(1,9)
/cast Polymorph(p[n])

this is only 204/255 characters and would be much more expandable.
i added the following before the last line for debugging:

/script SendChatMessage(p[n])

this resulted in the following print out:

[08:39:41] Unknown macro option: n
[08:39:42] [S] [120:Ignigenamira]: Polar Bear Cub

which tells me the issue is the p[n]

i tested the following:

#showtooltip Polymorph
/run p={‘Black Cat’,‘Bumblebee’,‘Monkey’,‘Pig’,‘Polar Bear Cub’,‘Porcupine’,‘Rabbit’,‘Sheep’,‘Turtle’}
/run n=random(1,9)
/run s=p[n]
/script SendChatMessage(s)
/cast Polymorph(s)

but s wont get interpreted. thus it fails to cast. any ideas on how to enable this short of petitioning blizzard for a “cast random known polymorph” button?

thank you in advance.
(edited to change the c to an s here (choice/spell) so that the (c) wont show incorrectly. and lol at the forums choosing this instead of my main)

realized this is in the wrong forum. its more of a macro/ui question.
this is now a duplicate that may be deleted