This will add a `Floating` requirement, but should avoid some potentially serious problems, especially in optimization code