Yes, the explicit validate call inside of the function is what I was thinking of.  I still think the :- is useful for the reasons that Aria described, but was wondering if having our own additional validate call would give us more control over user error message, and whether that would be worthwhile or not.

I don't have a strong opinion either way at the moment, but just thought it was something we should make a conscious decision about.