Комментарии 2
Имхо обобщить получение одного или нескольких элементов - логичный шаг, а вот прилепить туда же длину - нет.
Перегрузка — это подход, когда один модуль или блок кода выполняет больше одной задачи. Например, функция, которая возвращает имя пользователя, его email и государственный налог на добавленную стоимость.
Не буду спорить с вашей позицией по существу, так как я сам отчасти с ней согласен, она основывается на вполне разумной прагматике. Однако с чисто синтаксической точки зрения раздражают также и бессмысленные языковые конструкции. В целом, синтаксис и идиоматика Лиспа тяготеют к тому, чтобы максимально обобщать функции, в том числе и на разное количество фактических параметров. Поэтому встаёт вопрос, как можно обобщить квадратные скобки на один параметр (и более чем на 2, кстати).
Gambit Scheme: переопределяем скобки