Make float.__(i/r)floordiv__ return an int

Yes, of course it is. Valid operation between values of a type that yields a result that is a value of a type.

float('inf') is not any better or worse than any other value of float. It is a number, like all others.