While BaseReflector is abstract, the constructor isn't, so it doesn't need to be redefined. (Except where you're trying to use different type hints here)