We currenltly assert when want to diagnose a missing import and the decl in question is already visible. It turns out that the decl in question might be visible because another decl from the same module actually made the module visible in a previous error diagnostic.
Make the assertion more flexible and avoid re-exporting the module if it's already visible.
Decl could also now be visible due to its lexically-enclosing context having a visible merged definition. I think this assertion should either be removed or changed to something like