   (icount [coll] "constant time count"))
 
 #_(defprotocol IEmptyableCollection
-  (iempty [coll]))
+    (iempty [coll]))
 
 (defprotocol ICollection
   (iconj [coll o]))

    (irest coll)))

#_(defn conj
  ([coll x]
     (if coll (iconj coll x) '(x))))

(defn reduce
  "f should be a function of 2 arguments. If val is not supplied,

                                        ;   Copyright (c) Rich Hickey. All rights reserved.
                                        ;   The use and distribution terms for this software are covered by the
                                        ;   Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
                                        ;   which can be found in the file epl-v10.html at the root of this distribution.
                                        ;   By using this software in any fashion, you are agreeing to be bound by
                                        ;   the terms of this license.
                                        ;   You must not remove this notice, or any other, from this software.

(ns cljs.core)

