Also an island with cliffs all around it can't have a settlement. You'll get a "settlement is on invalid tile" message with show_err in this case.