про clojure довольно интересно, но я не знаком с ним как следует. но сейчас знакомлюсь с элексиром, вроде он довольно сильно influenced
У них там есть подвижки в сторону проверки словариков на соответствие некорой спецификации, которая заменяет сигнатуру функции. По идее можно подумать о том, чтобы макроподставновки проверяли, что спецификации не противоречивы