in reply to Recursive map Design Questions

Is this (ab)use of prototypes as out-of-band info evil? Would attributes be better?

Weird, but not pure evil.

I use special "cut" return value to signal that this thing should not be recursed. I'm trying to make it impossible to accidently return it..?

I think the solution you have is pretty decent; unless someone traverses over your package's symbol table or otherwise goes looking for trouble, it should be pretty darn unlikely that they produce a string that matches your unique reference's ID.