can use safeZipWith in Constraint