bearophile: > I don't need a perfect language, but I fail to understand why > similar little pieces of trash are wanted in any language.
It's probably meant to make interaction with C a little easier. In C, arrays and pointers are interchangeable in a lot of places. It'd make D code look more like the C code it is interacting with. I don't think we need it, since the .ptr property does the job, but the reasoning probably made a lot of sense at the time it was brought in.
