There is a glitch on sublime behavior on overlapping tab stops, for example, see a ‘new function’ snippet for Erlang:
<snippet>
<content><![CDATA[${1:function} (${2:param})${3: when ${4:guard}} ->
${5:body}]]></content>
</snippet>
look at $3 overlapping $4, when user get to tab stop $3 he has the opportunity to delete the whole clause (i.e. $3 which includes $4), but when trying to jump to the next tab stop, sublime doesn’t do anything (because $4 is missing), the desired behavior is to jump to $5 (next bigger tab stop value)