SPM dynamic library producing 2 instances for some packages in Xcode

I'm trying to link all of my SPM dependencies as dynamic libraries. However, at runtime I'm getting symbol collision warnings.

Class TtC9FrameworkA43Class is implemented in both ../DerivedData/MyApp-rynwnsmwl/Build/Products/Debug-iphonesimulator/PackageFrameworks/FrameworkA_1550442A05D4B_PackageProduct.framework/FrameworkA_1550442A05D4B_PackageProduct (0x14855a178) and
../DerivedData/MyApp-rynwnsmwl/Build/Products/Debug-iphonesimulator/PackageFrameworks/FrameworkA-Dynamic.framework/FrameworkA-Dynamic (0x113abe178). One of the two will be used. Which one is undefined.

If I look in ../DerivedData/MyApp-rynwnsmwl/Build/Products/Debug-iphonesimulator/PackageFrameworks/ then I'm seeing 2 instances of the same framework that should only exist as 1 dynamic library, but not for all of my libraries:

FrameworkA_1550442A05D4B_PackageProduct.framework
FrameworkA-Dynamic.framework
FrameworkB-Dynamic.framework
FrameworkC-Dynamic.framework

What's going on here? Is this a remnant of some old build steps and I should just clear my cache and try again? Or do I have something misconfigured?

I'd really like to understand what the generated Framework_abcd_PacakageProduct.framewrok is.

The file type is a Mach-O 64-bit dynamically linked shared library arm64 (from the file command), so from my point of view it looks like the build system is choking on producing a single dynamic framework and producing 2. Tips and education welcome!