private static Angle InteriorAngle(this CircularStackElement <KtPoint2D> c, KtPoint2D point) => (c?.Next?.Value - point).ToKtVector2D().AngleBetween((c?.Value - point).ToKtVector2D());
internal static double CrossProductToNext(this CircularStackElement <KtPoint2D> corner) => corner?.Value?.ToKtVector2D().Cross(corner.Next.Value) ?? 0;