Pattern Matching on Numbers and Text
All numbers are represented by the Num object in the Math namespace. A Num object can have a value attached to it. Similarly, strings of text are created using the Text object in the Text namespace. A Text object can optionally have a value attached to it.
Pattern matching to objects with values or text
If the pattern has a value, then the expression must also be the same object and have the same value. If the object in the pattern doesn't have a value, then it will pattern match to any expression that has the same name and zero parameters whether it has a value or not.
For example:
{ 3.1 => Num } will be true
{ some text => Text } will be true (note that the pattern on the right side is just the Text object as opposed to the Text object containing the string "Text")
{ some text => some other text } will be false