Fix constness of array.d

Thanks to @aG0aep6G this works as far as I can see.
Yes, I with @DmitryOlshansky here - unnecessary nesting of templates creates potential combinatoric template bloat and no D compiler is currently capable of merging identical binary blocks.