Currently, we have ManifestDescriptor and Descriptor types. The only difference is the inclusion of the platform field. For making generic processors that filter based on platform type, this creates a number of complexities (see https://github.com/docker/containerd/pull/638 for an example of this pattern).
We'll simply need to merge these types in the specification and struct definitions.