Answering by questioning.
Often times I will be fighting with the problem I created out of the solution for a given problem. I have a solution which appears to works but it isn’t complete. This solution arise based on the familiarity of the problem I have in mind. That’s the wrong way, I need to describe the problem and work out on the solution on top of existing efforts.
One can relate this, when they find a solution on StackOverflow for a problem which has some familiarity with their problem. The solution might be superset or subset for your problem. But it’s a mistake to not get the real problem first. How do we do that? Often times the solution appears out of nowhere on reading documentation when I describe the problem in words to my peers or StackOverflow. Not just because of thinking out loud solves the problem but I understood the problem before describing it.
Solution isn’t fixing the existing solution but re-describing the problem.