Now I'm not saying you don't have a right to say anything until you have enough kids to fill a bus, far from it.
But the advice you get is always variations of the same. Try to be patient, try to be reasonable. If you need to make threats, have it escalate slowly. Follow through on consequences.
This works for most people, because if you have under 30 kids, you have a good chance of never getting a kid who is on the 1% level of difficulty (Rule of 1/3n).
In fact my first kid was normal in that sense. Ask him to do something, he does it eventually. Not too many issues. Patience and reason prevailed, I didn't even have to make a lot of threats before he just got it. At that point perhaps I should have written a book about parenting, because it was working great.
Second kid, no. It's not that the kid doesn't understand the trade: clean up first, then get read to. It's that the kid objects to the very idea that there's a deal. I'm being unreasonable in presenting this Faustian trade, no kid should be held prisoner until they unwillingly clean up after themselves! Consequences? Sure, try to hold to the things you said. No dinner, take away toys, stern voice, shouting.
Nothing helps. I can't be the only parent who has tried all the variations of "be reasonable". But that's also where the advice ends. I guess in programming we have the same problem: you've seemingly looked everywhere for the error, now you have no ideas left, but the problem is still there.