module Control.Applicative.Utils
    ( (<:>)
    )
where

infixl 4 <:>

(<:>) :: (Applicative f) => f a -> f [a] -> f [a]
f a
p <:> :: forall (f :: * -> *) a. Applicative f => f a -> f [a] -> f [a]
<:> f [a]
q = (:) (a -> [a] -> [a]) -> f a -> f ([a] -> [a])
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> f a
p f ([a] -> [a]) -> f [a] -> f [a]
forall a b. f (a -> b) -> f a -> f b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> f [a]
q