Happy to see progress being made here. I think Ryan and others have spoken to any issues I would otherwise raise with the implementation itself. Currently I find myself reaching for unsafeCoerce over magicDict in most situations, and I'd really like to be able to stop doing that!
I'm +1 on the name being something `reify`-ish, to avoid flipping the direction on the vocabulary. It is reifying a value as a dictionary. Something like `reifyValue` or `reifyAsDict` would avoid confusion as the dict isn't being reified, the value is. Both are a little clunky, but it is a very rare operation. It is also worth considering possibly mangling the name with a # or an 'unsafe' in the name to give casual users pause.
-Edward