       (drain! s #(t/is (= % [1])))
       (s/on-end s done))))
 
-;; (t/deftest observable-never
-;;   (t/async done
-;;     (let [n (s/never)]
-;;       (s/on-end n done))))
+(t/deftest observable-never
+  (t/async done
+    (let [n (s/never)]
+      (s/on-end n done))))
 
 ;; (t/deftest observable-on-value
 ;;   (t/async done


(t/deftest observable-as-applicative
 (t/async done
   (let [pinc (m/pure s/observable-context inc)
         pval (m/pure s/observable-context 41)
         life (m/fapply pinc pval)]
     (t/is (s/observable? life))
     (drain! life #(do (t/is (= % [42]))

  (t/async done
    (let [s1 (s/bus)
          s2 (s/bus)
          cs (s/concat s2 s1)]
      (drain! cs #(t/is (= % [1 2 3 4])))
      (s/on-end cs done)
      (s/push! s1 1)
