Ah, okay, got it. I went ahead and tried your example on something simple.
rv <- reactiveValues(a = 1, b = 2)
isolate(do.call("paste", rv))
This gave me the error
Error in as.vector(x, "character") :
cannot coerce type 'environment' to vector of type 'character'
All worked well though if I did the following (as you suggest):
isolate(do.call("paste", reactiveValuesToList(rv)))
which gave
[1] "1 2"
P.S. I was using isolate as I was playing in the Console outside of a reactive context.
My original thinking was "if it looks like a duck and acts like a duck, then it's a duck!", where duck = list of course. It appears that a reactiveValues object is indeed not really a duck, er, list.
Thanks!