{-# language Safe #-}
module LazyAsync.Types.LazyAsync where
import LazyAsync.Types.Complex (Complex (..))
import LazyAsync.Types.StartPoll (StartPoll)
import LazyAsync.Types.Status (Status)
import LazyAsync.Prelude (Functor)
data LazyAsync a =
Empty
| Pure a
| A1 (StartPoll a)
| A2 (Complex LazyAsync Status a)
deriving a -> LazyAsync b -> LazyAsync a
(a -> b) -> LazyAsync a -> LazyAsync b
(forall a b. (a -> b) -> LazyAsync a -> LazyAsync b)
-> (forall a b. a -> LazyAsync b -> LazyAsync a)
-> Functor LazyAsync
forall a b. a -> LazyAsync b -> LazyAsync a
forall a b. (a -> b) -> LazyAsync a -> LazyAsync b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: a -> LazyAsync b -> LazyAsync a
$c<$ :: forall a b. a -> LazyAsync b -> LazyAsync a
fmap :: (a -> b) -> LazyAsync a -> LazyAsync b
$cfmap :: forall a b. (a -> b) -> LazyAsync a -> LazyAsync b
Functor