matchesAll (a:as) (b:bs) | pMatches a b = matchesAll as bs
                         | otherwise = False
matchesAll (a:as) (b:bs) | pMatches a b = matchesAll as bs
                         | otherwise = False
matchesAll (a:as) (b:bs) | pMatches a b = matchesAll as bs
                         | otherwise = False