     (pr-str mc) => "..name.."))
 
 (fact "Metaconstants implement Named"
-  (name (Metaconstant. '..name. {})) => "..name.") 
+  (name (Metaconstant. '..name. {})) => "..name.")
 
 (fact "Metaconstants are equal if their names are *comparable*."
   (fact "equal names are comparable"
     (Metaconstant.    '...name... {}) => (Metaconstant. '...name... {})
     (Metaconstant.    '...name... {}) =not=> (Metaconstant. '...other... {}))
-  
+
   (fact "but so are names that have a different number of dots or dashes"
     (Metaconstant.    '...name... {}) => (Metaconstant. '.name. {})
     (Metaconstant.    '---name- {}) => (Metaconstant. '-name--- {}))
-  
+
   (fact "However, dot-names are not equal to dash-names"
     (Metaconstant.    '...name... {}) =not=> (Metaconstant. '---name--- {}))
-    
+
   (fact "values are irrelevant"
     (Metaconstant.    '...name... {:key "value"}) => (Metaconstant. '...name... {:key "not-value"})
     (Metaconstant.  '...NAME... {:key "value"}) =not=> (Metaconstant. '...name... {:key "value"}))
-  
+
   (fact "Metaconstants are equal to symbols with a comparable name"
     (= (Metaconstant. '...name... {}) '.name.) => truthy
     (= (Metaconstant. '...name... {}) '...not-name...) => falsey

    (contains? mc :not-key) => falsey

    (find mc :key) => [:key "value"]))
    
(fact "Associate extends some of Seqable and IPersistentCollection"
  (let [mc (Metaconstant. 'm {:key "value"})]
    (count mc) => 1


;;; Metaconstant symbols

(tabular
  (fact "metaconstant symbols begin and end with dots"
    '?candidate   ?arrow metaconstant-symbol?)
     ?candidate   ?arrow
     ...foo...      =>
     .foo.          =>
     foo            =not=>
     .foo           =not=>
     foo.           =not=>
