An abstract NameSpace should only inherit from an abstract NameSpace.
An abstract NameSpace cannot be instantiated. Therefore an abstract NameSpace should not inherit from a NameSpace that can be instantiated because it would inherit instanciable properties.