I loved the article! There's just one point I must say I kind of disagree: when you say we must try not to give solutions… I'd say this is right if the code is not working.. but if it is working and you're reviewing and you think it could be improved, I personally think the best thing to do is to provide the exact change you're expecting and explaining why it is better than the code that is currently there. I mean, if the developer found that solution and already tested his entire code and submitted to be code reviewed, we assume he believed his code was already good. If you ask him to think about another solution and don't provide it, it can be frustrating because it's very much possible that he thought that the solution was already good enough. Also, if you provide the solution, he can see why it's better without having to spend more time on it (because in real life, we usually plan some time to spend on tasks and if at this point you ask the developer for providing another solution just because you think there's a better one, then it may require more changes, more code review, and also, it's possible that you don't approve the other solution also.. so the best thing is to provide a new solution so that the dev can just change it and check if it worked as expected, also understanding why it was better).
Of course that, if the code was buggy, than it's fine to ask for a better solution without providing it, because at the end, the one the developer provided before could not be merged due to bugs.