Type Definition Applicative
type_freak::functional
type Applicative<Lhs, Rhs> = ApplyFunctor<ApplicativeFunctor<Rhs>, Lhs>;