Набор clojure по умолчанию неупорядочен, поэтому вызывать first
для них не имеет смысла (если вы точно не знаете, что это набор из 1 элемента). Это имеет смысл, если это отсортированный набор. То, что вы сделали, это идиоматический c способ получить первый элемент первого из любой коллекции. Другой вариант из ядра - ffirst
. Я бы сказал, что это немного меньше идиоматизма c в сообществе, но все же хорошо.