Make data satisfy constraints before using.
github.com/quenktechnologies/preconditions
quenktechnologies/preconditions