Occasionally I see people mention that ATC’s have all the power, and pilots have none, when in fact that’s far from the truth. There are a few of these posted now.
If you have an issue with the service you’ve been provided, PM the controller and in a very calm voice, describe the situation, and ask for an explanation. With replay, you can even add a link to a replay of the session, and point out exactly what you’re concerned about.
If the controller doesn’t give you a satisfactory explanation, you can always invite a moderator to review the situation. This is where you have the power! If it’s obvious that there were issues with the service, the controller will hear about it.
Be aware, mistakes are made on both sides. The first time or two, the controller will be cautioned, but continued abuse will result in more severe consequences.