The usages of .. would then be:
case X..Y:
foreach(e; X..Y)
array[X..Y]
Case (1) has a VERY DIFFERENT meaning from (2) and (3). (1) is inclusive of Y, and (2) and (3) are exclusive of Y. Having a very different meaning means it should have a distinctly different syntax.