I don't think it will cause any problems having the pointer typed to its element type rather than typed to void, since:
pointer -> qualifier -> type
implicitly converts to:
pointer -> qualifier -> void
If this isn't always true than we could either force a cast to const(void*) or use some kind of template helper to extract a const(qualified(pointer to void)). Anyway the address is formatted and not the pointed value so I don't think the pointed type is all that important.
Fixes Issue 9336 - Format should work on shared address.