Your comment mirrored something I wrote in another thread about the problems with the Socratic method in general[1]:
"If you have a concern, then express the concern openly before asking your question. This will make it clear to the recipient what your intent is, and they will not have to guess."
The worst comment I see in code reviews (and sadly, all too often) is:
"Why did you do it this way?"
I have no idea why I'm being asked this. The answer is "Because it solved the problem."
Even this is problematic:
"Why did you do it this way instead of X?"
Possible (unhelpful) answers:
"Because I didn't think of X." (I still don't know if you want me to change the code and why).
"Because it solved the problem."
Your examples are good ones on how to ask this question "This could have been solved via X, which has the benefits Y and Z compared to your approach. I suggest changing this to use X, unless your approach has advantages that I'm unaware of."
Probably about half the times I get something like this: Yes, my method did have advantages the reviewer is not aware of, and we then have a discussion.