Haskell indirectly solves this by separating `trace` (a form of logging) from IO (trace is a procedure that logs function call while all other IO must be contained in an IO monad).
Had an awesome experience with german Amazon support - he was very friendly and helpful, sent an e-mail afterwards where he explained how the problem occured in more detail and got in touch with their tech team, which fixed the problem in few hours and then send me a handwritten e-mail (not automated) apologizing for the problem.
if the practices used by the company were so bad and abusive, shouldn't the customers just move to another company? Voila, problem solved, the company no longer has monopoly.
I feel like YouTube uses its monopoly to create a walled garden focused on (in their own words) advertiser-friendly content.
The thing is, it makes perfect sense from their side - they will make people angry, but why would they bother if those people can't go anywhere else?
I'm starting to feel that a competitor providing the same quality of service while allowing all kinds of videos has a chance to succeed. It's OK to have both child videos, porn and Syrian documentation, as long as you can filter - maybe have some sort of a "curiosity" slider that filters child content on one side, YouTube content in the middle and all content to the other side. Also some category toggles,... If you're unhappy with the current selection, just take a few minutes of your time and change your preferences.