Why do people think Python is ducktyped? The syntax is quite explicit, just because x = 5.
is shorthand for x = float(5)
doesn’t mean it’s doing weird mutations. The closest would be maybe that something like:
x = 5
y = 2.
z = x * y
works (I think) but that’s not exactly a wacky behaviour. It’s not like it ever does the wrong behaviour of casting a float to an int which can erase meaningful data and cause unpredictable behaviour.
I mean you can (and often should!) give functions/methods type signatures ffs.
very cunning revenge!