http://eel.is/c++draft/module.unit seems pretty clear that both are implementation units. AFAICT implementation partitions are basically the same as implementation non-partitions that gain the ability to be imported and lose the implicit import of the PMI. Is here some wording you can point me to that makes this “fundamental difference” clear? Or wording that would justify having that source modification change the semantics of an otherwise unmodified program?
I don’t parse implementation partition as “partition of the implementation” more as “partition unit that also happens to be an implementation unit”. Similarly for “interface partition” because he PMI is also a “partition of the interface” (the main or root partition) but it isn’t a partition unit so it can’t be a “partition unit that happens to be an interface unit”.