The GetTextBoundsParams.Font property is correctly documented / described as Font data type (and is correctly linked), yet for some reason the website suggests in both summary and longer version of properties (in the property header) that the .Font type is Enum.Font (which is not correct).
The best implementation moving forward should really be Font:GetTextBounds(text: string, width: number?) as it means the font related parameters are enclosed as the self type on the method.
This does mean we now have three implementations of the same basic operation, but I see it as an end-all-be-all approach.