The changelog deprecation error explains it best. It's to avoid confusing errors if some attribute hasn't been initialized for whatever reason (usually `init=False` + typo).