If this has been added to an version since 3.4 my apologies for posting this.
There are software patterns such as singleton, where it is useful to be able to declare a constructor as private to control how the class is instantiated.
While one can declare a constructor as private, the dispatcher does not honor this allowing non class methods to construct an object. It would be useful to add enforcement of visibility for constructors.
Thanks,