Can we rely on `(Monad m) => (Applicative m)` and make `liftA2`?