From: Joel VanderWerf [mailto:vjoel / path.berkeley.edu] :
# A quick workaround would be to use k.dup:
# 
#        x.report(k.dup) { f v }

brilliant insight. I never even tested that, thinking k.dup would just be another var/object. And besides, it does not even look *right :)

# Apparently, benchmark is being bad and munging its inputs 
# (and falling 
# down when one of them happens to be frozen because it is also 
# a hash key).

it is really weird.
thank you and kind regards -botp