I have asked a similar question before, but I still struggle to 'get' this.
I have a bounded context that is UserManagement which contains all the details about User, UserId etc. This is separated as a context as it is useable in two separate applications.
I have another bounded context that stores all the reusable code, as my Core. In the core, there is a Shareable concept (an interface and trait in PHP) but this makes use of the UserId from my other bounded context.
As the core is the lowest part of my domain, surely I should not be referencing objects in a layer above it? Should Shareable use a more generic Identifier concept over a concrete UserId?
This question also confuses me with general use of Id objects across different bounded contexts; should I reference UserId in other contexts, or create an implementation of UserId in each one?