Erm, *errors* and *warnings* should be the first two parameters to validation helpers like this one, since the rest of the parameters will vary by helper, and that way the positions of *errors* and *warnings* will stay the same across all such functions.