Change the behaviour change is for when a `bit_set` of range/enum and the underlying type has been specified
Change the behaviour change is for when a `bit_set` of range/enum and the underlying type has been specified

* If the lower bound is greater than zero, it will become zero (thus removing the compatification)
* If the lower bound is negative, it is an error

This means that an integer value N, maps directly to the N-th bit.

Example
```
foo :: enum u8 {
    a = 2,
    b = 3,
    c = 4,
}

set0: bit_set[foo]
set0 += {.a, .b}
// internally set0 == 1<<(2-2) | 1<<(3-2)

set1: bit_set[foo; u32]
set1 += {.a, .b}
// internally set1 == 1<<(2-0) | 1<<(3-0)
```

gingerBill/Odin,ThisDrunkDane/Odin,gingerBill/Odin,gingerBill/Odin,ThisDrunkDane/Odin,gingerBill/Odin,ThisDrunkDane/Odin