Pass all properties to validations.
Allow vectors as keys in validation maps.
Use ex-info instead of custom Exception class;
correctly use allow-extra-keys? in if-valid.