(->) i
is an applicative functor, so you can write (&&&)
as
f &&& g = (,) <$> f <*> g
and you could write map3
as
map3 f1 f2 f3 = map ((,,) <$> f1 <*> f2 <*> f3)
except that it isn't shorter than
map3 f1 f2 f3 = map $ \i -> (f1 i, f2 i, f3 i)
But thanks to Gabriel's tip, this is shorter:
map3 f1 f2 f3 = map (liftA3 (,,) f1 f2 f3)