Наконец, если у вас достаточно макромагии, это может быть сделано... но, вероятно, теперь меньше усилий, чем реализация типа типа типа Haskell на вершине Clojure. Типизированный Clojure может быть отличной моделью для этого, за исключением того, что он явно разработан так, что семантика Clojure не может быть затронута предполагаемыми типами. Это именно то, что происходит в полиморфизме возвращаемого типа, и поэтому это явно невозможно в Typed Clojure.
Мой вопрос - Что означает, что семантика (Haskell) подвержена влиянию выведенных типов (полиморфизма возвращаемого типа)?