You’re not casting to anything, you left it to DSL. (That is usually the best idea) It chose integer for “-6”, you can see that in your log. Number types have this funny dual nature.
I re-learn that one periodically. Number types could be renamed “Schroedinger’s integer”. So far as I can make out, there are two different / divide functions, integer and decimal, chosen by nature of operands.