Suppose you run into a bewildering Mathematica result (which happens to me several times per Mathematica session, even after a 20-year acquaintance), such as, for example:
MatchQ[42, _?Function[x, True]]
False
So you go pore over the docs, but you still can't figure out an explanation. Then what?
What tool can one use to figure out why Mathematica's evaluation is different from what one expects?
PS. By sheer luck, I had read something a few days earlier that helped me figure out the answer to the one above, but I would have never guessed it without that prior hint. Yes, after knowing the answer I can zero in the place in the docs where the mystery is solved, but only then. This is why the documentation does not go as far in such situations as one would think: if one knew where in the documentation to look, one wouldn't have been puzzled by the original result in the first place. Here's a different hint: when completely nonplussed, what could be more fitting than to interrogate the documentation for ?
MatchQ[42, _?Function[x, True]] // FullForm // HoldForm
. A trace such asTrace[MatchQ[42, _?Function[x, True]], TraceOriginal -> True]
would have shown the problem too $\endgroup$