https://www.rfc-editor.org/rfc/rfc4418#section-3.2.1 describes the parameters for KDF as follows:
Input:
K, string of length KEYLEN bytes.
index, a non-negative integer less than 2^64.
numbytes, a non-negative integer less than 2^64.
My question is... why is index defined as "a non-negative integer less than $2^{64}$ when the largest value that's ever passed to it is $4$?
It's called in the PDF function with a parameter of $0$:
K' = KDF(K, 0, KEYLEN)
...and in the UHASH function the highest parameter that it ever goes to is $4$:
//
// Define total key needed for all iterations using KDF.
// L1Key reuses most key material between iterations.
//
L1Key = KDF(K, 1, 1024 + (iters - 1) * 16)
L2Key = KDF(K, 2, iters * 24)
L3Key1 = KDF(K, 3, iters * 64)
L3Key2 = KDF(K, 4, iters * 4)
So why not say that it's an integer that can have a range between $0$ and $4$?