On learning specialization and UFCS

In Rust std lib there's this function:

x.atan2(y)

Probably I'd like it to be a regular function, it seems more natural:

atan2(x, y)

Sometimes I've used f64::atan2(x, y).

On the other hand I'd like max/min to be methods of the numbers, so you can use them like this:

x.min(y)
x.max(y)

I use min/max far more than atan2, and apparently I think of max and min more as infix functions than atan2.

I'd even like a language that allows to use max and min like += and -=

x `max=` y;