I really don't see the point in implementing a different object validation mechanism that support only a subset of what the existing one can do.
`IsWindow` would need it anyway. If we agree on that, `get_shared_user_object` is simply a step in a wrong direction.