I put a
line at the top of all of my scripts - ensure that I know what I am getting.
Why ksh - well it is the POSIX shell, so more likely to be portable to any non Linux Unix systems.
Ksh also has nice string handling that means that you don't need to use eval, there are other nice things over & above some shells. This is the sort of reason that people like to use bashisms - it does make for faster scripts -- but only if you need to do that sort of thing.