add `alts` validator, refactor correction fn handling (allowing constants, automatically wrapped in `constantly`), update `required` validator to cause empty strings to fail