I'm pretty big time DRY extremist. Mostly because I have had so many issues in real life whenever I'm dealing with lists of things, I always wind up forgetting one ingredient in the recipe or step in a project... It's easier to DRY than to automatically verify stuff is im sync.<p>My new thing lately has been JSON schemas.<p>I use them to set defaults, to decide what properties to save and load, to eliminate unnecessary defaults when saving, to generate __slots__, and for verifying correctness at different steps in the program, like when accepting data from an API call.<p>I'm still using manual type annotations though, it doesn't seem like there are common tools for making a class from a schema in a way that MyPy understands.<p>They also serve as the source of truth documentation for the data. I'm not sure why I didn't start using them a long time ago!<p>I wonder what other similarly powerful DRY tools I'm not using but should be?