So I fire Hair Meddle, and watch a strike tile get swapped around, which should lead to it being stolen. But if swapped tiles make a match beneath it, and the special tile falls a row or two, it no longer gets stolen.
I assume this is an implementation error, and the function that checks for specials operates on the final positions from the swap and not the final positions resulting from settling due to swap matches.