@steve I don't really understand what @silverpill wants to underscore with that FEP.
In my software I am using something like his core types for actual data types, but the differences are mostly in behaviour a server/client has in relation to them. Ie, what can one "do" when encountering such an object, and that's better guided by looking at their data "shapes". The properties common to the Object type can be used for "object things": display name, content, use URL, etc. The extra properties for Actor, can be used for actor things: addressing. The properties for Collections: for retrieval, etc.