Is this and other functions below duplicate with `EllipseGeometry`?  If so, put them in a common file as `@private` functions (no need to explicitly unit test or doc them) so both geometries can use them.

Same comment if other geometries have a similar situation.