 -> Pattern a -> Pattern b
swap things p = filterJust $ (`lookup` things) <$> p

{-
  snowball |
  snow
swap :: Eq a => [(a, b)] -> Pattern a -> Pattern b
swap things p = filterJust $ (`lookup` things) <$> p
swap things p = filterJust $ (`lookup` things) <$> p