{-# language Safe #-} module LazyAsync.Actions.Pure where import LazyAsync.Types (LazyAsync (..), Outcome (..), Status (..)) pureOutcome :: a -> Outcome a pureOutcome :: a -> Outcome a pureOutcome = a -> Outcome a forall a. a -> Outcome a Success pureStatus :: a -> Status a pureStatus :: a -> Status a pureStatus a x = Outcome a -> Status a forall a. Outcome a -> Status a Done (a -> Outcome a forall a. a -> Outcome a pureOutcome a x) pureLazyAsync :: a -> LazyAsync a pureLazyAsync :: a -> LazyAsync a pureLazyAsync = a -> LazyAsync a forall a. a -> LazyAsync a Pure