I think to me a punishment is something separate from the infringement, done to make a point. And it’s age dependent how immediate that separation is
So: four year old isn’t gentle with his sister after repeated warnings - no we aren’t going to see the bunnies this afternoon because the bunnies need to be handled gently. That’s a consequence.
Telling them you’ll take a toy off them for a week because they did x is a punishment.
A toddler isn’t going to get that delay and make sense of it, so for them, we warn that bunnies need to be handled gently this afternoon, we go, and any bunny roughing-up we leave, with a ‘we need to be gentle, if we can’t be gentle, we can’t do this.’
So the toddler isn’t helped by a delayed punishment (like a cat really, you can’t tell them off for crapping on the mat four hours later, but you can if you catch them in the act.)
Safety is paramount - a kid heading towards the road can be yelled STOOOP! At as loud as you want. Or grabbed and pulled away - safety trumps all. We don’t yell otherwise and boy, the few times we do he’s stopped in his tracks.
But after that, there is NO point punishing a toddler for it - they just don’t get the action-delay-consequence thing.
I think also never use food or sleep as punishments. So no sending to bed without dinner and no sending to bed early. I don’t want food or bedtime to be emotionally charged like that.
It’s hard, raising respectful, safe, happy little humans. I think never be cruel, that’s the biggie. Proportionate, reasonable, consistent and fair always.