Used introspection to make match method safer.

Match won't always be used for PlayingCards, so used introspection to
make sure what we are matching before we match.