Implements alternative matching
Adds a few atom matchers

present?, absent?, repeat