Know When to Nitpick, And When to Leave It
One of the attributes of a good developer is being able to pick apart the small details of a problem. Developers are good at that because computers demand it; computers are really bad at inference, so you have to predict every little case that could happen, no matter how rare, and tell the computer what to do with them. Unfortunately, this attribute, if carried too far, turns programmers into lousy conversationalists—http://tirania.org/blog/archive/2011/Feb-17.html in all other fields, including other areas of software creation.
When you or someone else is designing the architecture for a software system, think of it as a low-fidelity proposal for the shape of the solution, not the actual solution. The answer to the question "how does this solve X?" is almost certainly "it doesn't – this is an early-stage prototype," so there's not even any point asking the question. You could demonstrate the answer by...