If you define a g function, do the following:
g[x_?EvenQ] : = "same" g[x_?NumberQ] : = "number"
why Mathematica will always come back
g == "Even", even if
NumberQ == True?
Specifically, is there a defined order in which Mathematica will try to match the function cases? Does he evaluate the most specific match first?