> > Consider the canonical example: > > void* foo(void *p) { return p; } > > Do you write an overload for each kind of pointer? Doesn't D already have that problem with its immutable/const pointers?