 (ap + (just 1) (nothing) (just 2))  ; nothing
 (ap / (just 10) (just 2)) ; just 5
 (ap / (right 10) (left "error!")) ; error!
-(try-either (ap / (right 10) (right 0)))  ; left: divide by zero
+(try-either (/ 10 0))  ; left: divide by zero
+(try-either (/ 10 2))  ; right
+(ap / (right 10) (right 2))
+(ap / (right 10) (right 0))
+
 
 (fapply (just inc) (just 2))
 (fapply (just inc) (right 3))

       ]
      (+ a b c))


              bimap left-map right-map
              unless ap ap-> ap->> as-ap-> curry lift-m lift-a
              ->= ->>= <$> <*> <=< =<< >=> >> >>=
              as->=
              curry-lift-m 
              extract right-map 
              ;sequence mapseq forseq filter join  when
              ]] :reload)
  #_(require '[cats.builtin])
  (require '[cats.monad.maybe :as maybe :refer
             [just nothing cat-maybes from-maybe just? nothing? map-maybe 
              maybe->seq maybe? seq->maybe]] :reload)
