Congratulations; you have successfully introduced a whole new way to have off-by-one errors.
People are used, due to forty years or more of tradition in the great majority of major languages, to zero-based indexing. Tossing that away Because It's Inelegant won't do much good to anyone, especially when you take into consideration the fact that an awful lot of math is more convenient with 0-based indexing.
Upper-Lower+1, easy. Whenever the lower is 1, just the upper is enough.
In your case you go from 0 to 4, how's that different from how many fingers you have? 4-0=4 Oops.