I don't think you're correct. If you, the designer, made those operands, you should expect them to be int() or float() because of how you created them. int() and float() have lots of other differences beyond just how they're treated by division.
I don't know of any of them that expect 2 / 3 to be an integer.
And as ufo says, it creates subtle bugs because it works right on most data until you just happen to get a pair of ints. Then boom.
eg in Matlab all numbers are doubles unless you take action to make them otherwise.
> There should be one-- and preferably only one --obvious way to do it.
If I divide 1 in half, I'm left with 0.5.
(/ 2 3) ; => 2/3
(/ 2.0 3) ; => 0.6666667