anyway just learned python typing invented a new kind of voldemort type -- one which when named doesn't actually name it
`float` and `int` are two distinct types in the type system
but if you write `x: float` that actually means `x: float | int`. but if you write `x: float | int` that means `x: float | int | int`.
anyway that's why `ty` has a `JustFloat` extension that is an actual alias for actual `float` that doesn't expand to `float | int`, so you can actual refer to... just float
