Give the index type an exclusive upper-bound, and fix related types accordingly