If you define a function g, like so:
g[x_?EvenQ] := "even" g[x_?NumberQ] := "number"
why will Mathematica always return
g == "Even", even though
NumberQ == True?
More specifically, is there a defined order in which Mathematica will try to match function cases? Does it evaluate the most specific match first?