Item 4: Enforce noninstantiability with a private constructor

For a long time I did not see the point of preventing instantiation of a utility. If someone wants to waste their time doing so, why do I care? It isn’t as though that gives them any special power to get around any safeguards unless you declared something as protected.

The only actual valid reason for not having a constructor is that it pollutes the code completion namespace with types that never need to be instantiated.