 (ns epicea.typed.core
   (:require [clojure.spec :as spec]
+            [epicea.typed.lang :as lang]
             [epicea.utils.debug :as debug]
             [epicea.utils.core :as core]
             [epicea.utils.defmultiple :refer [defmultiple]]

         ::spec/invalid 
         (spec/conform ::typed-fun [nil [:double 'a :double 'b] :a :b :c])))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Compilable

(defn expr-access [i]
  (access/index-accessor i {:default-base [nil nil]}))

  (:long [x] (long-to-dynamic (access/get x type-body))))
  
(assert (= 9 (to-dynamic-expr [:long [:value 9]])))
