Meshintersect vs Intersect command for mesh-surface intersection

We have Intersect, MeshIntersect and IntersectTwoSets.

For me, there is no logic there. I have one surface and one mesh. I would like to have a curve product from an intersection.
Why Intersect doesn’t work with that pair and MeshIntersect works. IMO Intersect command would be closer to looking for curve generation from intersections between the surface and the mesh. I use that command from time to time and always I choose Intersect wrongly instead MeshIntersect to generate a curve from mesh-surface pair. Maybe I`m wrong but I think for newcomers it would be easier to know if Intersect would work also with meshes.