consistently return TypeError for all arg validation failures