Embedding the types only makes the assembly bigger for no benefit.
And it does screw up debugging for anyone doing VS extensibility, where you start getting errors like this:
Embedded interop type 'EnvDTE.Project' is defined in both 'EnvDTE.dll' and 'NuGet.VisualStudio.dll'. Some operations on objects of this type are not supported while debugging. Consider casting this object to type 'dynamic' when debugging or building with the
'Embed Interop Types' property set to false.
(here I was trying to inspect the current solution in a quick watch window)
on why this COM-inspired feature should not be considered a general-purpose versioning story for nuget, since it breaks the typical developer flow for VSX authors.