{-# language Safe #-}

module LazyAsync.Types.StartPoll where

import LazyAsync.Types.Status (Status)

import LazyAsync.Prelude (Functor, STM)

data StartPoll a = StartPoll
    (STM ()) -- ^ Start
    (STM (Status a)) -- ^ Poll
  deriving a -> StartPoll b -> StartPoll a
(a -> b) -> StartPoll a -> StartPoll b
(forall a b. (a -> b) -> StartPoll a -> StartPoll b)
-> (forall a b. a -> StartPoll b -> StartPoll a)
-> Functor StartPoll
forall a b. a -> StartPoll b -> StartPoll a
forall a b. (a -> b) -> StartPoll a -> StartPoll b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: a -> StartPoll b -> StartPoll a
$c<$ :: forall a b. a -> StartPoll b -> StartPoll a
fmap :: (a -> b) -> StartPoll a -> StartPoll b
$cfmap :: forall a b. (a -> b) -> StartPoll a -> StartPoll b
Functor