Actually I slept on it, and I can see how it can be spinned as some sort of “type alias” (thanks for @ftynse comment!) between dialects. Independently of this proposal, it may be worth it to extract this in a PR of its own right now if you’re up for it!
(While I’m here: your implementation should be updated for the “default dialect” feature by the way)

We can add definitions for those, however, I’d prefer vague definitions that only have concrete meaning when coupled with
MemorySpaceAttrInterface
.
You can offload a lot of things to the interface, but you still need to define them! That is the interface is making something “parametric” but we still need to describe the concepts and how it can be “parameterized” by the interface. You may see it as “this is the documentation of the interface”, and that’s OK: but I see this interface and its documentation as part of the ptr
type itself actually.