Doing simple stuff likefor(int i = 0; i < s.length - 1; i++) fails catastrophically if s is empty. To make right one has to reduce performance by writing extra checks.
There seems to be no real good reason why size_t is unsigned... Surely one doesn't require too many strings larger than 2^63 bits on an x64 os...
I running into a lot of trouble because of the way D deals with implicit casting of between signed and unsigned.
please don't tell me to use foreach... isn't not a panacea.