All validator functions should in theory have the signature
( Z1 ) -> Z1
but some are implemented as
( Z1, Z4 ) -> Z1
This is probably due to historical reasons and/or laziness. We should clean these functions up to see if all validation functions can indeed be made pass-throughs.