Smalltalk shows a lint error if you recurse unconditionally: you've basically written a pointless infinite loop. I've not seen lints for this elsewhere, but it's a really nice touch.