A Validator is a function that can process input to either yield a list of validation errors or act on its input.
typedef ValidatorT<S, T> = Either<List<dynamic>, T> Function(S subject);