* package:clash-prelude

Sequence actions, discarding the value of the first argument. 'as *> bs' can be understood as the do expression
do as
bs
This is a tad complicated for our ApplicativeDo extension which will give it a Monad constraint. For an Applicative constraint we write it of the form
do _ <- as
b <- bs
pure b
Sequence actions, discarding the value of the second argument. Using ApplicativeDo: 'as <* bs' can be understood as the do expression
do a <- as
bs
pure a
Sequential application. A few functors support an implementation of <*> that is more efficient than the default one. Using ApplicativeDo: 'fs <*> as' can be understood as the do expression
do f <- fs
a <- as
pure (f a)