Function liftEquivalences

Given a LiftEquivalence function, and 1..n Equivalences for different types A₁, A₂, ...Aₙ, returns the given list except every equivalence for type Aᵢ has been replaced by an equivalence for type Kind<F,In1,Out2,Out1,Aᵢ>. For example:

const [eqOptionString, eqOptionNumber] = lifeEquivalences<OptionTypeLambda>(
OP.getEquivalence,
)(
numberEquals,
stringEquals,
)
// eqOptionString ≡ Equivalence<Option<string>>
// eqOptionNumber ≡ Equivalence<Option<number>>