FSharpType.Format drops parent namespaces when the type being formatted and context have a common parent namespace.
namespace Ns1.Ns2
type T() = class end
Formatting T via FSharpType.Format in Ns1.Ns3 context:
Expected:
namespace Ns1.Ns3
Ns1.Ns2.T
Actual:
namespace Ns1.Ns3
Ns2.T // produces error
It should only skip qualifier namespaces when they are actually opened or are the same namespace as the context.
In addition to FSharpType.Format usages in tooling, it likely affects generating things in the compiler, e.g. signature files generation.