     (if-let [fpp-pbs (seq (keep fast-path-protocols
                                 (map resolve
                                      (keys impl-map))))]
-      (let [fpp-partitions (group-by first fpp-pbs)
+      (let [fpps (into #{} (filter (partial contains? fast-path-protocols)
+                                   (map resolve
+                                        (keys impl-map))))
+            fpp-partitions (group-by first fpp-pbs)
             fpp-partitions (into {} (map (juxt key (comp (partial map peek) val))
                                          fpp-partitions))
             fpp-partitions (into {} (map (juxt key (comp (partial reduce core/bit-or) val))
                                          fpp-partitions))]
-        (reduce (fn [ps p]
-                  (update-in ps [p] (fnil identity 0)))
-                fpp-partitions
-                (range fast-path-protocol-partitions-count))))))
+        [fpps
+         (reduce (fn [ps p]
+                   (update-in ps [p] (fnil identity 0)))
+                 fpp-partitions
+                 (range fast-path-protocol-partitions-count))]))))
 
 (defmacro deftype [t fields & impls]
   (let [adorn-params (fn [sig]

        fields (vec (map #(with-meta % nil) fields))
        base-fields fields
	fields (conj fields '__meta '__extmap (with-meta '__hash {:mutable true}))
        pmasks (prepare-protocol-masks env tagname impls)
	adorn-params (fn [sig]
                       (cons (vary-meta (second sig) assoc :cljs.compiler/fields fields)
                             (nnext sig)))

                                      (cljs.compiler/warning &env
                                        (core/str "WARNING: Symbol " % " is not a protocol")))
                                    (cljs.compiler/warning &env
                                      (core/str "WARNING: Can't resolve protocol symbol " %)))))
        skip-flag (set (-> tsym meta :skip-protocol-flag))]
    (if (base-type tsym)
      (let [t (base-type tsym)
            assign-impls (fn [[p sigs]]
