I think my only concern here is the implicit conversion for a string given that it is too easy to accidentally express a function declaration as a string and then get a quoted string. My fear is that that type of problem will be hard for a user to debug; they'll probably get some non-intuitive error.

How about we always declare that we want a quoted string?