Can you explain a bit more why `Phase` is required here? I don't think there should be any distinction of phases, and nothing in `metadata::loader` should know about a syntax/link phase (it's just loading metadata). I think that all this needs is to be instantiated with a different triple.

(that's just what I was thinking, though)