pub trait ApplicativeSurrogate<F, A>where
    Self: Sized + ApplySurrogate<F, A, Self> + Equiv<To = F::T<A>>,
    F: HKT1,{
    // Required method
    fn pure(a: A) -> F::T<A>;
}
Expand description

Applicative but with looser type constraints, allowing for blanket Applicative implementations on types Equivalent to F<A>

Required Methods§

source

fn pure(a: A) -> F::T<A>

Lift A to F<A>

Implementors§

source§

impl<I, A> ApplicativeSurrogate<IO, A> for Iwhere I: Equiv<To = IO<A>> + IOLike<A>,