If something annoys you (like funky function names) you can alias them or add whatever you think is missing to the language.
E.g. You could define second as something like
(defun second (list) (nth 1 list))
and use it forever, just as if it were in the base language.
As an example I have a function L2HT which takes a list and returns a hash table:
(l2ht '((1 "one") (2 "two)))
(You can override the hash table type with various parameters if you like).
If something annoys you (like funky function names) you can alias them or add whatever you think is missing to the language.
E.g. You could define second as something like
(defun second (list) (nth 1 list))
and use it forever, just as if it were in the base language.
As an example I have a function L2HT which takes a list and returns a hash table:
(l2ht '((1 "one") (2 "two)))
(You can override the hash table type with various parameters if you like).