How should this work?
I ask this on many levels. From how should the API I am calling work, to how should the function I am working on work, to what the API I am working on should work, to how the overall product should work.
My reasoning is that I view a program as a textual representation of the mental model of a solution. Therefore the most important thing I do as a programmer is build, specify, and refine my own mental model of what should happen, and then make what is in the code match that model.