Add `shouldPermute`

I'm not sure about the name though, happy to consider other options.