Good catch- what about updating `_validate` to raise an error if there are any negative counts? I can't think of a situation where we'd want any of these functions to silently accept/handle negative counts (to me, negative counts indicates that there's something fundamentally wrong with the user's input).