Implements `matches` with tests #12