One other thing I would add to your list is a kind of crossover between ArrayCrvOnSrf and FlowAlongSrf. So I guess kind of mixing in the behaviour of Fin/Sampled Normal Direction to then deform the copies of the object along the curve, along a surface. FlowAlongCurveAlongSurface has a nice ring to it this would just remove some of the needs to Smash and get the reference curve, orient and align the object to the curve, then flow that back again. Maybe it’s a mad idea though.
Speaking of which, ArrayCrvOnSrf behaves a little strange in my view. When going through the Divide option, there is no drawn preview which I might have expected. Very nifty command though, I didn’t realise you could just key in a sequence of distances to get an extra object along the curve.