Probably the second one, but they all look basically the same to me. Perhaps programmers should get better at reading code.
The last one is least readable IMHO. It's like a regexp. It's the most ambiguous and has the most potential for errors also.
It's hard to typo "function" and have a program still compile/run. It's a lot easier to typo "fn" and still have the program compile/run. Smaller tokens mean more potential errors.
Which of the following is clearer?