It is common in many flows to expect people to do a force push if something is wrong with their pull request, e.g. having 15 commits that look like:
Try stuff
Another prototype
Fix something
...
Revert prototype
It is fairly common (in my experience) for the contributor to be asked to squash those commits.
In my opinion, the more guards in place the better.