I prefer the type in the signature be int. The .floor() call is to protect against the fact this type is not enforced by default.