Could you elaborate a little on why you believe that to be a better choice? It seems to me you would be losing a considerable amount of type safety. That said, I could see the use of Any
reducing some of the issues with LLDB conflicts.
Why do the users of the incomplete type need to be marked unavailable? The purpose of this proposal is to make them available from Swift, despite depending on an incomplete type.
If diagnostics are the primary goal of the above snippet, there is a separate effort to accomplish that which should already be reporting such issues: [Pitch] Lazy ClangImporter Diagnostics Enabled by Default
For one the API surface exported by a module or file should not be influenced by this change, since synthesized types are unavailable and thus should not escape file scope. Furthermore import order also shouldn't have an effect (REPL / LLDB aside). Please let me know if I've misunderstood something.