On Rhino 5: array returned for CurveMidPoint is different than for Centroid of Surface

If Rhino.IsSurface(strSourceObject) Then
arrCenterOfSourceObject = Rhino.SurfaceAreaCentroid(strSourceObject)
ElseIf Rhino.IsPolysurface(strSourceObject) Then
arrCenterOfSourceObject = Rhino.SurfaceAreaCentroid(strSourceObject)
ElseIf Rhino.IsCurve(strSourceObject) Then
arrCenterOfSourceObject = Rhino.CurveMidPoint(strSourceObject)
ElseIf Rhino.IsMesh(strSourceObject) Then
arrCenterOfSourceObject = Rhino.MeshAreaCentroid(strSourceObject)
Else
rhino.print “Source Object must be a Curve, Surface, Polysurface or Mesh.”
Exit Sub
End If

CurveMidPoint, return value documented as an array. But the array is somehow different than those returned by the various Centroid methods?

À curve midpoint is just a point, the various centroid methods return both a point and an error bound, so the return is a nested array.

Thank you, Helvetosaur. That insight got me going. Jim