Calling (this script) breaks broadcast blocks

I was just messing around with the new (this script) block, and I came across this bug. Whenever you have a broadcast block in the same script as a (this script) block, it breaks after (this script) has been called. For example, running this script a second time returns an error
untitled script pic (18)

Whereas this script throws an error the first time it runs
untitled script pic (80)

Now, what's weird is that this error only effects the one block, not any other broadcast blocks. Another thing is, when you have it expanded to show the sprite(s) it sends the broadcast to, it doesn't error, assuming you haven't already called (this script) with the broadcast block not expanded, and is called before the broadcast block is ran. That's a little complicated, so I'll just show you.

This script runs without error every time, even if you ran it with no broadcast inputs before.
untitled script pic (81)

but this script will only throw an error if you have ran it with the broadcast block with no inputs before
untitled script pic (82)

Here's an example project to test all this out.

edit: I forgot to show the error.

Cannot convert a Symbol value to a string

I don't know why BROADCAST in particular should be affected, but THIS SCRIPT introduces a new data type, first class environments, and my guess would be that some piece of the environment can't be converted to text form. It's a bug, but not such a surprising one -- when we get these major new features, the surprise is how well they work on first release, a testament to Jens's careful testing.

Thanks for the bug report!