The RaycastResult API reference has an incorrect description for the RaycastResult.Instance property:
Terraincell that the ray intersected.
Firstly, Terrain is a BasePart, so mentioning Terrain is unnecessary. Secondly, the Instance property can be an instance that isn’t a BasePart, by using the StudioService:GizmoRaycast method.
(BallSocketConstraint isn’t a BasePart)