Unit and unit type validations, spec, and factories