You can’t create an instance of a struct if it has private fields. This is just a trick to prevent ParseBoolError from being constructed in user code.
One reason to do this is for forwards compatibility. If users could create it with:
let error = ParseBoolError {};
then a future version of ParseBoolError couldn’t add fields without breaking that code.