 (defn namespace
   "Returns the namespace String of a symbol or keyword, or nil if not present."
   [x]
-  (if (satisfies? INamed x)
+  (if (satisfies? INamed x false)
     (-namespace x)
     (if (keyword? x)
       (let [i (.lastIndexOf x "/" (- (alength x) 2))]

  "Returns a new seq where x is the first element and seq is the rest."
  [x coll]
  (if (or (nil? coll)
          (satisfies? ISeq coll))
    (Cons. nil x coll nil)
    (Cons. nil x (seq coll) nil)))


  from-coll conjoined."
  [to from]
  (if-not (nil? to)
    (if (satisfies? IEditableCollection to false)
      (persistent! (reduce -conj! (transient to) from))
      (reduce -conj to from))
    (reduce conj () from)))
